java se 09
2017-03-17 16:48
169 查看
1:多态(掌握) |
(1)同一个事物在不同时刻表现出现的多种状态。 |
举例:水,猫和动物 |
(2)前提 |
A:有继承或者实现关系 |
B:有方法重写 |
因为抽象类中的抽象方法以及接口中的方法都必须被子类重写,调用才有意义。 |
C:有父类或者父接口引用指向子类对象 |
(3)多态中的成员访问特点 |
Fu f = new Zi(); |
A:成员变量 |
编译看左边,运行看左边 |
B:成员方法 |
编译看左边,运行看右边 |
C:静态方法 |
编译看左边,运行看左边 |
(4)好处和弊端 |
A:好处 |
提高了代码的维护性 |
提高了代码的扩展性 |
B:弊端 |
不能访问子类特有功能 |
(5)如何访问子类特有功能 |
A:创建子类对象 |
B:向下转型 |
(6)多态中的转型 |
A:向上转型 |
子到父 |
B:向下转型 |
父到子(加强制转换) |
(7)孔子装爹案例 |
2:抽象类(掌握) |
(1)有些时候,我们对事物不能用具体的东西来描述,这个时候就应该把事物定义为抽象类。 |
(2)抽象类的特点: |
A:抽象类或者抽象方法必须用abstract修饰 |
B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类 |
C:抽象类不能实例化 |
可以按照多态的方式实例化。 |
D:抽象类的子类 |
a:要么是抽象类 |
b:要么重写抽象类中的所有抽象方法 |
(3)抽象类的成员特点: |
A:成员变量 |
可以是变量,也可以是常量 |
B:构造方法 |
有。 |
不能实例化,有构造方法有什么意义呢? |
用于子类访问父类数据的初始化。 |
C:成员方法 |
可以是抽象的,也可以是非抽象的 |
(4)抽象类的案例 |
A:猫狗案例 |
B:老师案例 |
C:学生案例 |
D:员工案例 |
(5)两个小问题 |
A:如果你看到一个抽象类中居然没有抽象方法,这个抽象类的意义何在? |
不让别人创建 |
B:abstract不能和哪些关键字共存? |
a:private 冲突 |
b:final 冲突 |
c:static 无意义 |
3:接口(掌握) |
(1)有些时候,不是事物本身具备的功能,我们就考虑使用接口来扩展。 |
(2)接口的特点: |
A:定义接口用关键字interface |
格式是:interface 接口名 {} |
B:类实现接口用关键字implements |
格式是:class 类名 implements 接口名 {} |
C:接口不能实例化 |
D:接口的子类 |
a:要么是抽象类 |
b:要么重写接口中的所有方法 |
(3)接口的成员特点 |
A:成员变量 |
只能是常量。 |
默认修饰符:public static final |
B:成员方法 |
只能是抽象方法。 |
默认修饰符:public abstract |
推荐: |
建议自己写接口的时候,把默认修饰符加上。 |
(4)类与接口的关系 |
A:类与类 |
继承关系,只能单继承,可以多层继承。 |
B:类与接口 |
实现关系,可以单实现,也可以多实现。 |
还可以在继承一个类的同时实现多个接口。 |
C:接口与接口 |
继承关系,可以单继承,也可以多继承。 |
(5)抽象类和接口的区别? |
A:成员区别 |
B:关系区别 |
C:设计理念区别 |
抽象类:父抽象类,里面定义的是共性内容。 |
接口:父接口,里面定义的是扩展内容。 |
(6)接口的案例: |
A:猫狗案例加入跳高 |
B:老师和学生案例加入抽烟 |
相关文章推荐
- 09 12 02 Java SE 学习笔记
- Java SE之旅_09_代理Proxy
- < 笔记 > Java SE - 09 Java SE 反射
- [零基础学JAVA]Java SE面向对象部分-09.面向对象基础(04)
- 09 12 02 Java SE 学习笔记
- Java SE 09_Generics
- SeaJS快速入门,让js代码模块化 - 2011-09-09修订,新添参考资料
- 菜鸟之路-09
- 09-网站标题图片设置
- MongoDB小结09 - update【定位修改器】
- Java SE复习笔记67
- Mac_开发工具_IntelliJ IDEA如何创建Java SE项目
- Android教程 -09 数据的持久化存储
- Android进阶笔记09:Android开发经验部分总结
- LocationManager定位国内偏移,WGS-84、GCJ-02、BD-09之间转换
- Python标准库09 当前进程信息 (os包)
- 【线性代数】 09 - 正规变换和二次型
- 【重构学习】09 函数调用的重构
- Java SE 第二十二讲----接口interface
- Java SE,Java EE ,Java ME 区别