this可以用来修饰属性、方法、构造器。
this修饰属性和方法:
this理解为当前对象
如果方法的形参和类的属性重名,我们就可以使用“this.变量”的方式,表明此变量是属性,而非形参。
this修饰构造器类似:
a.我们在类的构造器中,可以显示的使用“this(形参列表)”的方式,调用本类中指定的其他构造器。
b.构造其中不能通过“this(形参列表)”的方式调用自己。
c.如果一个类中有n个构造器。则最多有n-1构造器中使用“this(形参列表)”
d.规定:“this(形参列表)”必须声明在当前构造器的首行.
e.构造器中最多只能使用一个“this(形参列表)”。
我们可以在子类的方法或构造器中通过使用“super.属性”或“super.方法”的方式,显示的调用父类中的属性或方法。但是,通常情况下,我们习惯省略“super.”
当子类和父类中定义了同名的属性时,我们要在子类中调用父类声明的属性时,使用“super.属性”的方式,表明调用的是父类中声明的属性。
当子类重写了父类的方法以后,我们想在子类的方法中调用父类中被重写的方法时,则必须显示的使用“super.方法”的方式,表明调用的是父类中被重写的方法。
super调用构造器
a. 我们可以在子类的构造器中显示的使用“super(形参列表)”的方式,调用父类中声明的指定的构造器。
b.“super(形参列表)”的使用必须声明在子类构造器的首行。
c.我们在类的构造器中,针对于“this(形参列表)”或“super(形参列表)”只能二选一,不能同时出现
d.在构造器的首行,没有 显示的声明“this(形参列表)”或“super(形参列表)”,则默认调用的是父类中空参的构造器super()。
a instanceof A:判断对象a是否时类A的实例。如果是,返回true;如果不是,返回false。
使用情境:为了避免在向下转型是出现异常,我们在向下转型之前,先进行instanceof 的判断,一旦返回true,就向下进行。如果返回false,就不进行向下转型。
static关键字的使用
静态的
static可以修饰:属性、方法、代码块、内部类
使用static来修饰属性
a.属性按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)
b.实例变量:我们创建了类的多个对象时,每个对象都独立的拥有一套非静态属性。当修改其中一个非静态属性时,不会导致其他对象中同样属性值的修改。
c.静态变量:我们创建了类的多个对象时,多个对象共享同一个静态变量。当修改其中一个静态变量时,会导致其他对象中同样属性值的修改。
使用static来修饰方法
开发中,如何确定一个属性是否要声明为static的?
开发中,如何确定一个方法是否要声明为static的?
原文:https://www.cnblogs.com/yicurtain/p/14828235.html