目录
1.2 使用package声明类或者接口所属的包,声明在源文件首行
一、关键字this的使用:
1、 this可以用来修饰或调用属性、方法、构造器
2、 this修饰属性和方法:
可以把this理解为:当前对象 或 当前正在创建的对象
2.1
在类的方法中,我们可以使用“this.属性”或“this.方法”的方式来调用当前对象的属性或者方法,但是通常情况下我们会省略“this.”。但是在特殊情况下,方法的形参与类的属性同名了的话就必须显式的使用“this.属性”或“this.方法”的方式表明该变量是属性不是形参。
2.2
在类的构造器中,我们可以使用“this.属性”或“this.方法”的方式来调用当前正在创建的对象的属性或者方法,但是通常情况下我们会省略“this.”。但是在特殊情况下,如果构造器的形参与类的属性同名了的话就必须显式的使用“this.属性”或“this.方法”的方式表明该变量是属性不是形参。
3、 this调用构造器
3.1 使用
我们在类的构造器中可以显式 的使用“this(形参列表)”的方式,调用本类中指定的其他构造器
3.2 注意
> 构造器中不能通过“this(形参列表)”来调用自己
>如果一个类中有n个构造器则最多只能有n-1个构造器使用了“this(形参列表)”。
> 在构造器中调用构造器时,必须在首行声明“this(形参列表)”
>在构造其内部,最多只能声明一个“this(形参列表)”来调用其他构造器
二、关键字:package、import的使用
1、package关键字的使用
1.1为了更好的实现项目中类的管理,提供包的概念
1.2 使用package声明类或者接口所属的包,声明在源文件首行
1.3 包,属于标识符,要遵循标识符命名规则规范
1.4 每“.”一次就代表一层文件目录
补充:同一个包下,不能命名同名的接口、类。不同的包下可以命名同名的接口、类。
2、import关键字的使用:import:导入
2.1 作用
在源文件中显式的使用import结构导入指定包下的类、接口。
2.2 使用
> 声明在包的声明和类的声明之间,如需多个并列依次写出即可
> 可以使用“XXX.*”的方式表示可以导入“XXX”结构下的所有结构
> 如果使用的类或者接口是java.lang中的,可以省略impor结构;如果使用的类、接口是本包下定义的,则也可以省略import结构;
> 如果在源文件中,使用了不同包下的同名的类,则必须至少有一个类需要以全类名的方式显示
> 使用“XXX.*”的方式 表明可以调用XXX包下的所有结构,但是在使用XXX子包的结构时则仍需要显式导入
> import static:导入指定类或接口中的静态结构(属性或方法);
三、 super关键字
1、 super可以理解为:父类的 。
用来调用实行、方法、构造器
2、super调用属性方法
我们可以在子类的方法或者是构造器中,通过使用“super.属性”或“super.方法”的方式,显式的调用父类中声明的属性或者方法,但是通常情况下,我们习惯省略“super.”
3、在特殊情况下
当子类与父类中定义了同名的属性时,我们想在子类中调用父类中声明的属性则使用”super.”来表明调用的是父类的属性。当子类重写了父类的方法以后,我们想在子类的方法中调用父类被重写的方法是,必须显式的使用”super.”来表明调用的是父类的方法。
4 、super调用构造器
4.1 使用
我们可以在子类的构造器中显式的使用“super(形参列表)”的方式,调用父类中声明的指定构造器
4.2 注意
> “super(形参列表)”的使用,必须声明在子类构造器的首行。在类的构造器中“this(形参列表)”与“super(形参列表)”只能二选一。
> 当我们在构造器的首行没有显式的声明“this(形参列表)”与“super(形参列表)”则默认使用“super( )”。
> 在类的多个构造器中至少有一个类的构造器使用了“super(形参列表)”,调用父类中的构造器。
四、instanceof关键字
1、作用:
判断对象a是否是类A的实例。如果是则返回true,若不是,则返回false
2、使用情景
为了避免在使用向下转型时出现ClassCastException的异常,我们在向下转型之前先进行instanceof的判断,返回true,则进行。返回false,则不进行。
3、 注意
如果a instanceof A返回true,则a instanceof B也返回true。
其中B是A的父类