• 多个构造函数的写法和this,super关键词


    1、使用this调用其他它构造函数

        public HomeAdapter(Context c) {
            this.mContext = c;
            mLayoutInflater = LayoutInflater.from(mContext);
        }
    
        public HomeAdapter(Context c, List<Share> list) {
            // TODO Auto-generated constructor stub
            this(c);
            mlist=list;
        }
     

    "this",作为一个特殊的关键字,它的规则如下:
    1、可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。
    2、在构造函数中使用this调用另一个构造函数,要放在第一行:Constructor call must be the first statement in a constructor
    3、可以在一个类的非static成员内部使用,表示当前这个对象


    2、使用super调用父类的构造函数

    public class AuthFailureError extends VolleyError {
    
        public AuthFailureError(NetworkResponse response) {
            super(response);
        }
    }

    1、super();//调用父类的构造方法,一定要放在方法的首个语句

    没有放在第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法。那么以前所做的修改就都回到以前了,就是说又成了父类的构造方法了。

    2、super的另外一个作用是调用父类的protected函数。只有通过"super"这个魔咒,我们才能操作父类的protected成员,别无它法。Done!

    3、Java中,有时还会遇到子类中的成员变量或方法与父类中的成员变量或方法同名。因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了超类的成员变量或方法,但是我们如果想要使用父类中的这个成员变量或方法,就需要用到super.变量或super.方法()

  • 相关阅读:
    系统设计的一些原则
    分层开发思想与小笼包
    工作与生活
    Microsoft .NET Pet Shop 4 架构与技术分析
    用人之道(二) 如何管理软件开发团队
    也谈很多开发人员的毛病
    《3S新闻周刊》第10期,本期策划:“超女”营销带来的启示
    浅析ArcIMS
    MapX的坐标问题
    应用ArcIMS构建GMap风格的地图应用
  • 原文地址:https://www.cnblogs.com/xingyyy/p/4151362.html
Copyright © 2020-2023  润新知