您的位置:首页 > 编程语言 > Java开发

重拾java基础(九):抽象类、接口总结

2017-01-14 23:25 274 查看
一、final关键字

1. 可以修饰类、属性、方法
2. 修饰类:最终的类
final class  Pet{

}
3. 修饰属性:属性的值不能修改    final修饰的属性必须人工赋值   PI
4. 修饰方法:该方法不能被重写
5. final类中的所有方法都默认为final


二、抽象类

1. Pet  Dog  Cat  没有现实意义
2. 父类充当的只是一个代码模版
3. abstract,抽象,关键字
4. 修饰类
abstract class Pet{  //抽象类
}
5.抽象类不能实例化   实例==对象  创建对象的过程就叫实例化
6.一个类变成了抽象类后,对类中的成员有影响?
a.属性   无变化
b.构造方法    无变化
c.get/set方法   无变化
d.普通功能方法   无变化
7. 建议以后凡是父类都改为抽象类,抽象父类


三、抽象方法

1. 可以修饰方法,父类中的功能方法一般都可以改为抽象方法
2. 特点
a.不能有方法体
b.抽象方法必须出现在抽象类中
c.抽象方法必须被重写
3. 抽象类中既可以有普通方法,也可以有抽象方法
4. 建议把父类中的功能方法改为抽象方法
5.抽象关键字abstract不可以和哪些关键字共存?
final:如果方法被抽象,就需要被重写,而final是不可以被重写,所以冲突。
private:如果方法被私有了,子类无法继承,怎么重写呢。
static : 不需要对象,通过类名就可以调用抽象方法,而调用抽象方法没有意义


四、初步理解接口

1. 在现实生活中,啥是接口?水管接口   插座  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类


五、接口是多态的一种表现形式

1. 作用:保证程序具有良好的可扩展性和可维护性
2. 接口的向上转型写法:  接口名  对象名=new 实现类();
3. 应用场景:
a. 如果被动方需要使用属性,那么就只能用继承-多态
b. 如果被动方不需要使用属性,或者重点关注的是功能(方法),那么应该使用接口
案例:更换不同的加密算法(A公司需要加密数据,刚开始用的B公司提供的算法,
后来发现该算法容易被破解,然后换成C公司的加密算法... ...)


六、关系-小结

1. 类和类          继承   单一继承、多层继承
2. 接口和接口      继承   多继承
3. 类和接口        实现   多实现
4. class A  extends B  implements C,D


七、接口的实际应用

接口就是一个标准或规范,用来统一各方的方法命名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: