#博学谷IT学习技术支持#

1.常规调用

使用局部变量:局部变量名

使用成员变量:对象名.成员变量名

使用成员方法:对象名.成员方法名(参数)

2.当方法的局部变量和类中的成员变量重名的时候,根据“就近原则”,优先使用局部变量,

想要访问类中的成员变量可以使用this关键词

格式:this.实例变量名 (谁调用的方法,谁就是this)

3.区分重名的三种变量的访问:

(1)局部变量: 直接写成员变量名

(2)本类的成员变量: this.成员变量名

(3)父类的成员变量: super.成员变量名

4.注意:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。

5.当在某个变量前加上private修饰词时,该变量在所属类中不受影响,

但在其他类中不能够随意访问,需要设置getter/setter进行访问

6.this关键字(访问本类内容)的三种典型用法:

(1)在本类的成员方法中访问本类中的成员变量

(2)在本类的成员方法中调用本类的另一个成员方法

(3)在本类的构造方法中调用本类的另一个构造方法

在用法(3)中要注意:

①this()和super()特点相同,在构造方法中有且只有一个,还必须是构造方法中的第一个语句

②因为this()和super()相同的的特点,所以它们不能在一个构造方法中同时使用

7.super关键字(访问父类内容)的三种典型用法:

(1)在子类成员方法中访问父类的成员变量

(2)在子类成员方法中调用父类的成员方法

(3)在子类构造方法中调用父类的构造方法

8.使用staic关键字修饰的,无论是静态变量还是静态方法都推荐使用类名称调用:有static关键字,不需要创建对象,

直接就能通过类名称调用它(类名称.静态方法名(参数)/静态变量名),在本类中使用时可以不加类名称

注意事项:

①静态(方法)不能直接访问非静态(变量) --->因为在内存中是【先】有的静态内容,【后】有的非静态内容

②静态方法当中不能使用this --->因为this代表当前调用方法的对象,而调用静态方法不需要对象。

③根据类名称访问静态成员变量,这个过程跟对象没有任何关系,只和类相关。

9.在父子类的继承关系中(多态写法同样适用)

(1)如果成员变量重名,则创建子类对象时,访问成员变量有两种情况:

①直接通过子类对象访问成员变量:创建对象时等号左边是谁,就优先用谁的,没有则向上找(编译看左边,运行还看左边)

②间接通过成员方法访问成员变量:该方法属于谁,就优先用谁的,没有则向上找(就近原则)

(2)访问重名的成员方法时,new的是谁,就优先用谁的,没有则向上找。(编译看左边,运行看右边)

11.接口中静态方法的调用通过接口名称(与类中的类似),但是不能通过实现类或是实现类的对象来调用静态方法(定义在类中

的静态方法能通过对象来调用)--->因为一个实现类可能对接多个接口,静态方法会产生冲突

格式:接口.静态方法名(参数)

12.接口的默认方法可以被实现类直接调用,接口的私有方法不能被实现类调用

13.当直接父类中定义的方法和所实现的接口中定义的方法发生冲突时,优先使用直接父类中的方法。

分类: 源码分享 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录