Cirry's Blog

多态

2019-09-25
技术
java
最后更新:2024-03-22
1分钟
196字

方法多态:①方法覆写②方法重载

属性多态

①向上转型

1
class Message {
2
public void print(){
3
System.out.println("i am messge");
4
}
5
}
6
class DataBaseMessage extends Message {
7
public void print(){
8
System.out.println("i am DataBaseMessage");
9
}
10
}
11
class WebServerMessage extends Message {
12
public void print(){
13
System.out.println("i am WebServerMessage");
14
}
15
}
10 collapsed lines
16
17
public class duotai{
18
public static void main(String args []){
19
fun(new DataBaseMessage());
20
fun(new WebServerMessage());
21
}
22
public static void fun(Message msg){
23
msg.print();
24
}
25
}

②向下转型

1
class Person{
2
public void print(){
3
System.out.println("i am just a common man");
4
}
5
}
6
7
class Superman extends Person{
8
public void fly(){
9
System.out.println("i can fly");
10
}
11
}
12
13
public class duotai{
14
public static void main(String args []){
15
Person superman = new Superman(); // 如果你在这个地方是 Person per = new Person(); 则后面无法转型成Supermanm类
7 collapsed lines
16
superman.print();
17
18
//向下转型
19
Superman man = (Superman) superman;
20
man.fly();
21
}
22
}

ps:向下转型,一定都是先向上转型之后才能向下转型。instanceof 可以检查是不是此类型。

本文标题:多态
文章作者:Cirry
发布时间:2019-09-25
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
感谢大佬送来的咖啡☕
alipayQRCode
wechatQRCode