重拾java基础(九):抽象类、接口总结
一、final关键字
可以修饰类、属性、方法
2. 修饰类:最终的类 final class Pet{}
3. 修饰属性:属性的值不能修改 final修饰的属性必须人工赋值 PI
4. 修饰方法:该方法不能被重写5. final类中的所有方法都默认为final
二、抽象类
Pet Dog Cat 没有现实意
2. 父类充当的只是一个代码模版
3. abstract,抽象,关键字
4. 修饰类 abstract class Pet{ //抽象类 }
5.抽象类不能实例化 实例==对象 创建对象的过程就叫实例化
6.一个类变成了抽象类后,对类中的成员有影响? a.属性 无变化 b.构造方法 无变化 c.get/set方法 无变化 d.普通功能方法 无变化7. 建议以后凡是父类都改为抽象类,抽象父类
三、抽象方法
可以修饰方法,父类中的功能方法一般都可以改为抽象方法
2. 特点 a.不能有方法体 b.抽象方法必须出现在抽象类中 c.抽象方法必须被重写
3. 抽象类中既可以有普通方法,也可以有抽象方法
4. 建议把父类中的功能方法改为抽象方法
5.抽象关键字abstract不可以和哪些关键字共存?
final:如果方法被抽象,就需要被重写,而final是不可以被重写,所以冲突。
private:如果方法被私有了,子类无法继承,怎么重写呢。
static : 不需要对象,通过类名就可以调用抽象方法,而调用抽象方法没有意义
四、初步理解接口
在现实生活中,啥是接口?水管接口 插座 USB接口
2. 作用类似,起了一个名字"接口"
3. 作用 a. 保证可扩展性和可维护性,接口是多态的一种表现形式 (USB接口) b. 实战应用:统一标准和规范 (USB接口)
4. 在Java中,接口到底是啥?接口本质是一个更特殊的抽象类
5. 定义一个接口:interface = abstract class
6. 继承接口的类不叫子类,叫实现类,extends 换成 implements
7. 接口跟抽象类相比,更特殊的地方:
a. 接口不能实例化,不能有构造方法
b. 接口中的属性全部都是public static final修饰的,不写会自动添加
c. 接口中的方法必须全部都是抽象方法,会自动添加public abstract关键字
d. 一个类可以实现多个接口
e. 接口之间就可以多继承
f. 接口没有继承Object类
五、接口是多态的一种表现形式
作用:保证程序具有良好的可扩展性和可维护性
2. 接口的向上转型写法: 接口名 对象名=new 实现类();
3. 应用场景:
a. 如果被动方需要使用属性,那么就只能用继承-多态
b. 如果被动方不需要使用属性,或者重点关注的是功能(方法),那么应该使用接口 案例:更换不同的加密算法(A公司需要加密数据,刚开始用的B公司提供的算法, 后来发现该算法容易被破解,然后换成C公司的加密算法... ...)
六、关系-小结
类和类 继承 单一继承、多层继承
2. 接口和接口 继承 多继承
3. 类和接口 实现 多实现
4. class A extends B implements C,D
七、接口的实际应用
接口就是一个标准或规范,用来统一各方的方法命名
以上就是重拾java基础(九):抽象类、接口总结的内容,更多相关内容请关注PHP中文网(www.php.cn)!