面向对象(四)

面向对象特征---多态

同一种事物,在不同的时刻表现为不同的状态

必要条件:

1.有继承,父类可以表示子类

2.有重写(抽象方法),重写后,调用子类的重写的方法

3.父类引用指向子类对象

4.当编译期类型是父类,运行期类型是子类时,被称为父类引用指向子类对象

多态调用成员方法:编译看左边,运行看右边

静态方法:编译运行都看左边

成员变量:编译运行都看左边

注意:变量不存在被子类复写这一说法,只有方法存在复写

转型:

向上转型:提高程序的扩展性

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_18,color_FFFFFF,t_70,g_se,x_16

向下转型:为了使用子类中的特有方法

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

Final关键字

用法:修饰类,方法,属性.声明属性.

修饰属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改

修饰方法:修饰的方法在子类里不可以重写

修饰类:不能被定义为抽象类或是接口,修饰的类不可被其他类继承

final属性赋值:

1.在声明时同时赋值,往往与static一起使用

2.声明时不赋值,必须在构造方法中逐一赋值

3.总的原则:保证创建每一个对象的时候,final属性的值是确定的

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

接口

生活中常见的接口:USB风扇,USB鼠标,U盘

面向接口编程:

从本质上讲,接口是一种特殊的抽象类,这种抽象类包含抽象方法.

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

定义:使用interface关键字来声明一个接口

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

使用:类使用implements关键字实现接口.在类声明中,Implements关键字放在class声明后面

抽象类,接口的共同点和区别:

共同点:

1.都是一种抽象

2.都不能被实例化

3.都是用来被其他类继承实现.

区别:

1.抽象类可以定义成员变量,可以有构造方法,可以定义非抽象的方法

2.接口只能定义常量,抽象方法,静态方法,默认方法.

接口不能有构造方法,但可以继承其他多个接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值