关键字
this
-
this可以用来修饰属性、方法、构造器。
-
this修饰属性和方法:
this理解为当前对象
如果方法的形参和类的属性重名,我们就可以使用“this.变量”的方式,表明此变量是属性,而非形参。
-
this修饰构造器类似:
a.我们在类的构造器中,可以显示的使用“this(形参列表)”的方式,调用本类中指定的其他构造器。
b.构造其中不能通过“this(形参列表)”的方式调用自己。
c.如果一个类中有n个构造器。则最多有n-1构造器中使用“this(形参列表)”
d.规定:“this(形参列表)”必须声明在当前构造器的首行.
e.构造器中最多只能使用一个“this(形参列表)”。
import
- 在源文件中显示的使用import结构导入指定包下的类、接口。
- 声明在包的声明和类的声明之间。
- 如果需要导入多个结构,则并列写出即可。
- 如果在源文件中,使用了不同包下的同名类,则必须至少有一个类需要以全类名的方式显示。
- import static:导入指定类或接口中的静态结构:属性或方法。
super
-
我们可以在子类的方法或构造器中通过使用“super.属性”或“super.方法”的方式,显示的调用父类中的属性或方法。但是,通常情况下,我们习惯省略“super.”
-
当子类和父类中定义了同名的属性时,我们要在子类中调用父类声明的属性时,使用“super.属性”的方式,表明调用的是父类中声明的属性。
-
当子类重写了父类的方法以后,我们想在子类的方法中调用父类中被重写的方法时,则必须显示的使用“super.方法”的方式,表明调用的是父类中被重写的方法。
-
super调用构造器
a. 我们可以在子类的构造器中显示的使用“super(形参列表)”的方式,调用父类中声明的指定的构造器。
b.“super(形参列表)”的使用必须声明在子类构造器的首行。
c.我们在类的构造器中,针对于“this(形参列表)”或“super(形参列表)”只能二选一,不能同时出现
d.在构造器的首行,没有 显示的声明“this(形参列表)”或“super(形参列表)”,则默认调用的是父类中空参的构造器super()。
instanceof
a instanceof A:判断对象a是否时类A的实例。如果是,返回true;如果不是,返回false。
使用情境:为了避免在向下转型是出现异常,我们在向下转型之前,先进行instanceof 的判断,一旦返回true,就向下进行。如果返回false,就不进行向下转型。
static
static关键字的使用
-
静态的
-
static可以修饰:属性、方法、代码块、内部类
-
使用static来修饰属性
a.属性按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)
b.实例变量:我们创建了类的多个对象时,每个对象都独立的拥有一套非静态属性。当修改其中一个非静态属性时,不会导致其他对象中同样属性值的修改。
c.静态变量:我们创建了类的多个对象时,多个对象共享同一个静态变量。当修改其中一个静态变量时,会导致其他对象中同样属性值的修改。
-
使用static来修饰方法
- 随着类的加载而加载,可以通过“类.静态方法的方式进行调用”。
- 静态方法中,只能调用静态的方法。
- 非静态方法,可以调用静态方法,也可以调用非静态方法。
-
开发中,如何确定一个属性是否要声明为static的?
- 属性是可以被多个对象所共享的,不会随着对象的不同而不同的。
-
开发中,如何确定一个方法是否要声明为static的?
- 操作静态属性的方法,通常设置为static。
- 工具类中的方法,习惯上声明为static。
final
- 可以用来修饰的结构:类、方法、变量
- final用来修饰一个类:此类不能被其他类所继承。
- final用来修饰方法:此方法不能被重写。
- final用来修饰变量:此时修饰的"变量"就称为常量。
- final用来修饰属性:可以考虑赋值的位置有:显示初始化、代码块中初始化、构造器中初始化。
- final用来修饰局部变量:尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参,一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。
- static final 用来修饰属性:全局常量
浙公网安备 33010602011771号