Java笔记2 面向对象<4>多态、
来源:互联网 发布:数据库读写分离方案 编辑:程序博客网 时间:2024/06/16 07:17
------- android培训、java培训、期待与您交流! ----------
08天-01-面向对象(多态-概念)
l 多态:可以理解为事物存在的多种体现形态。
举例:
人:男人,女人;
动物:猫,狗;
猫 x = new 猫();
动物 x = new 动物();
1) 多态的体现
父类的引用指向了自己的子类对象;
父类的引用也可以接受自己的子类对象。举例:List list = newArrayList();
2)多态的前提
必须类与类之间有关系,要么继承,要么实现。
3) 多态的好处
多态的出现大大提高了程序的拓展性。
4) 多态的弊端
虽然提高了程序的拓展性,但是只能使用父类的引用访问父类中的成员。
举例:只能,List list = new ArrayList();不能,Arraylist list = new List();
5) 在多态中成员函数的额特点:
在编译时期,参阅引用类型变量所属的类中是否有调用的方法,如果有,编译通过,否则编译失败。
在运行时期,参阅对象所说的类是否有调用的方法。
简单的总结就是:成员函数在多态调用时,编译看左边,运行看右边。
在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)。
在多多态中,成员变量的特点:
无论编译和运行,都参考左边。
代码演示:
class fu{
voidmethod1(){
System.out.println(“Fumethod_1”);
}
void method2(){
System.out.println(“Fumethod_2”);
}
}
class zi extends Fu{
voidmethod1(){
System.out.println(“Zimethod_1”);
}
void method3(){
System.out.println(“Zimethod_3”);
}
}
clas Demo1{
publicstatic void main(String[] args){
Ziz = new Zi();
z.method1();
z.method2();
z.method3();
}
}
打印结果:
Zi method_1
Fu method_2
Zi method_3
clas Demo2{
publicstatic void main(String[] args){
Fuz = new Fu();
z.method1();
z.method2();
z.method3();
}
}
//编译失败,对象找不到method3()。
------- android培训、java培训、期待与您交流! ----------
- Java笔记2 面向对象<4>多态、
- java笔记-面向对象-多态
- JAVA笔记面向对象2
- java面向对象笔记
- JAVA面向对象笔记
- Java笔记---面向对象
- java笔记-面向对象
- java面向对象笔记
- java-面向对象笔记
- JAVA面向对象笔记
- java面向对象笔记
- 2、Java面向对象笔记(继承)(抽象类)(多态)
- Java面向对象笔记(九)多态
- 【学习笔记12】java面向对象-多态
- JAVA基础、方法、面向对象笔记4
- java笔记2面向对象和数组
- Java笔记2 面向对象<6>异常
- java面向对象学习笔记(2)
- user_namespace详解(6)
- 这几天做一个小程序需要用到线程的暂停与恢复 ,搞来搞去用Thread.Suspend和Thread.Resume总达不到想要的结果。后来百度一下 总结写了一个方法,共享一下 ~~~~~~~~~~
- eclipse导入工程出现Access restriction: The type XX is not accessible due to restriction on required
- 嵌入式学习笔记(14)——51单片机之A/D转换器
- HDU 1160 FatMouse's Speed 最长上升子序列及记录路径DP
- Java笔记2 面向对象<4>多态、
- HTML属性
- 软考之下午题做题技巧
- oracle job
- 将LinqToSql的连接字符串写在配置文件中
- JSON格式解析和libjson使用简介(cJson格式)
- which returns the pathnames of the files (or links) which would be executed in the currente
- (4)字符串处理
- 读取二进制格式数据,加载动画。