2022.8.23 Java多态笔记

1.

2. 代码当中体现多态性,父类对象指向引用子类对象;

3.

格式:

父类名称 对象名 = new 子类名称();

或者

接口名称 对象名 = new 实现类名称();

4.访问成员变量的两种方式:

(1)直接通过对象名称访问成员变量:看等号左边是谁,优先有谁,没有就向上找。

(2)间接通过成员方法访问成员变量:看该方法属于谁,优先用谁,没有则向上找。

5.子类如果没有覆盖重写就是父类

覆盖重写了则是子类。

6.在多态代码中,成员方法的访问规则是:

看new的是谁就是优先用谁,没有则向上找。

口诀:编译看左,运行看右。

对比一下:

成员变量:编译看左,运行还是看左。

成员方法:编译看左,运行看右。

 父子都有,优先用子;

子类没有,父类有,则向上找。

7.

多态的好处:

无论右边new的时候换成哪个子类的对象,等号左边的方法都不会变。

 8.

9. 

 

10.

final

 

11.

当一个final关键字用来修饰一个类的时候,格式:

public final class 类名称 {

//......

}

12.当前这个类不能有任何子类,(太监类)

注意:当一个类是final的,那么其中所有的成员方法都不能进行覆盖重写(因为没有儿子)

13.当final关键字来修饰一个方法的时候,这个方法是最终方法,也就是不能被覆盖重写。

格式:

修饰符   final  返回值类型    方法名称 (参数列表) {

//.....

}

注意事项:对于类和方法来说,abstract和final不能同时使用,会矛盾。abstract一定要进行重写,final不能进行重写。

14.final用来修饰一个局部变量,地址值不可变,但是里面的方法内容可以变。

 

15.对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样不可变,

(1)由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了。

(2)对于final的成员变量,要么直接使用赋值,要么通过构造方法赋值,二者选一。

(3)必须保证所有类当中所有重载的构造方法,都最终会对final的成员变量进行赋值。

 

16.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值