java常见的关键字

一. this 
1>表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。 
2>可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;
  它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函数等。只要一个C类型的final变量可以出现的地方,它就可以出现。

二. super 
1>表示调用父类的构造函数。也是一个特殊语法,不是变量,没有什么类型。
2>可以在一个类的非static成员内部使用。比如super.method()。 
  但是,注意,这个super.method()只是长得跟some_var.method()一样,一个语法糖而已。实质上,"super"根本不是一个变量。
  java里面有一个金科玉律:任何public非static函数的调用都是多态的。 
  所以,如果super是个变量,也指向当前对象,那么,不管super的静态类型是什么super.method()必然调用的是子类的那个版本,而不会是我们期望的,
  静态地选择父类的那个版本。所以,你只要把super.xxx看成一个特殊的语法,比如理解为“super::xxx”就好了。
3>super的另外一个作用是调用父类的protected函数。只有通过"super"这个魔咒,我们才能操作父类的protected成员,别无它法。

三. public &&  protected   &&   private
public对定义成员的类的内部可见,对他子类和外界不可见
protected对定义成员的类的内部和子类可见,对外界不可见
public对自己还是外人,都是可见的


猜你喜欢

转载自blog.csdn.net/slqSLQSHILIQIANG/article/details/70788049
今日推荐