什么是多态
通过不同的对象使用相同的方法,而做出不同的回应.就是多态(也称动态绑定) 举个例子,iPhone手机和小米手机都拥有打电话以及发短信的功能,而用iPhone去执行打电话,得到的结果就是iPhone打电话,相对的用小米手机打电话,就是用小米手机去执行打电话. 如何实现一个多态呢,实现多态的三要素就是 继承 重写 和向上转型 看三段代码 public class TelPhone{ public void call(){ System.out.println("用手机打电话"); } public void message(){ System.out.println("用手机发短信"); } }
8 8
1 public
class
TelPhone { 2
public
void
call (){ 3
System . out . println ( "用手机打电话" ); 4 } 5
public
void
message (){ 6
System . out . println ( "用手机发短信" ); 7 } 8 } public class IPone extends TelPhone { @Override public void call(){ System.out.println("用iPhone打电话");; } @Override public void message(){ System.out.println("用iPhone发短信"); } }
11 11
1 public
class
IPone
extends
TelPhone { 2
@Override 3
public
void
call (){ 4
System . out . println ( "用iPhone打电话" );; 5 } 6
@Override 7
public
void
message (){ 8
System . out . println ( "用iPhone发短信" ); 9 } 10 } 11 public class XiaoMi extends TelPhone{ @Override public void call() { System.out.println("用小米打电话"); } @Override public void message() { System.out.println("用小米发短信"); } }
12 12
1 public
class
XiaoMi
extends
TelPhone { 2
@Override 3
public
void
call () { 4
System . out . println ( "用小米打电话" ); 5 } 6 7
@Override 8
public
void
message () { 9
System . out . println ( "用小米发短信" ); 10 } 11 } 12 我们用test.java来测试功能 public class Test { public static void main(String[] args){ TelPhone phone = new TelPhone();//创建TelPhone类型的phone TelPhone useiPhone = new IPone();//创建TelPhone类型的useiPhone并且引用到IPhone TelPhone useXiaoMi= new XiaoMi();//类似 phone.call();//使用TelPhone身份去打电话 phone.message(); useiPhone.call();//使用IPhone身份去打电话 useiPhone.message(); useXiaoMi.call(); useXiaoMi.message(); } }
x 14
1 public
class
Test { 2
public
static
void
main ( String [] args ){ 3
TelPhone
phone
=
new
TelPhone (); //创建TelPhone类型的phone 4
TelPhone
useiPhone
=
new
IPone (); //创建TelPhone类型的useiPhone并且引用到IPhone 5
TelPhone
useXiaoMi
new
XiaoMi (); //类似 6
phone . call (); //使用TelPhone身份去打电话 7
phone . message (); 8
useiPhone . call (); //使用IPhone身份去打电话 9
useiPhone . message (); 10
useXiaoMi . call (); 11
useXiaoMi . message (); 12 } 13 } 14 结果 用手机打电话 用手机发短信 用iPhone打电话 用iPhone发短信 用小米打电话 用小米发短信
完成了简单的多态演示