博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java面向对象- 多态性的体现和使用
阅读量:6909 次
发布时间:2019-06-27

本文共 1368 字,大约阅读时间需要 4 分钟。

  1. 多态体现:

        方法的重载和重写

        对象的多态性

2.对象的多态性:

        向上转型:程序会自动完成

            父类 父类对象 = 子类实例

        向下转型:强制类型转换

            子类 子类对象 = (子类)父类实例       

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class 
A{
    
public 
void 
tell01(){
        
System.out.println(
"A--tell01"
);
    
}
    
public 
void 
tell02(){
        
System.out.println(
"A--tell02"
);
    
}
}
 
class 
extends 
A{
    
public 
void 
tell01(){
        
System.out.println(
"B--tell01"
);
    
}
    
public 
void 
tell03(){
        
System.out.println(
"B--tell03"
);
    
}
}
 
public 
class 
PolDemo01 {
 
    
public 
static 
void 
main(String[] args) {
        
//向上转型
//      B b = new B();
//      A a = b;
//      a.tell01();//tell01重写的
//      a.tell02();
        
//向下转型
        
A a = 
new 
B();
        
B b = (B)a;
        
b.tell01();
        
b.tell02();
        
b.tell03();
    
}
 
}

运行结果:

       向上转型:                                  向下转型:

            B--tell01                                   B--tell01

            A--tell02                                   A--tell02

                                                        B--tell03

            

3.对象多态性的使用:       

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class 
A1{
    
public 
void 
tell01(){
        
System.out.println(
"A--tell01"
);
    
}
}
 
class 
B1 
extends 
A1{
    
public 
void 
tell02(){
        
System.out.println(
"B--tell02"
);
    
}
}
 
class 
C1 
extends 
A1{
    
public 
void 
tell03(){
        
System.out.println(
"C--tell03"
);
    
}
 
class 
D1 
extends 
A1{
     
}
 
public 
class 
PolDemo02 {
 
    
public 
static 
void 
main(String[] args) {
        
say(
new 
B1());
        
say(
new 
C1());
        
say(
new 
D1());
    
}
     
    
public 
static 
void 
say(A1 a){
        
a.tell01();
    
}
 
}

执行结果:    

    A--tell01

    A--tell01

    A--tell01

本文转自yeleven 51CTO博客,原文链接:http://blog.51cto.com/11317783/1757222

转载地址:http://cjwcl.baihongyu.com/

你可能感兴趣的文章
Hadoop I/O操作原理整理
查看>>
redis必杀命令:集合(Set)
查看>>
Postgresql数据库数据简单的导入导出
查看>>
区块链除了发币其它功用估计不值钱
查看>>
亚马逊Alexa绑定美国运通卡,说一声即可支付账单
查看>>
黑客常用WinAPI函数整理
查看>>
AI总会有低潮,但为什么科学家们一直有快感?
查看>>
IDC:研究表明云计算支出将逐年增长
查看>>
WasteShark:海洋世界的清洁工
查看>>
交通部:加快ETC推广,探索在城市停车等领域广泛应用
查看>>
ecshop 工作流程加载配置介绍
查看>>
中国IT移动智库平台“找专家”正式上线
查看>>
PHP中获取星期的几种方法
查看>>
华夏银行与蚂蚁金服达成战略合作,开创银行移动数字化转型新趋势
查看>>
新华三发布“物联校园”解决方案,瞄准普教场景 引领智慧转型
查看>>
清除浮动方法总结(转)
查看>>
各种排序(数据结构复习之内部排序算法总结)
查看>>
哈夫曼树与哈夫曼编码
查看>>
迪士尼研究院用深度学习打造语音动画,让VR社交更真实
查看>>
css3 Gradients 线性渐变
查看>>