胡博君解Java之多态性

多态的定义:

多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。指一个对象不仅仅可以已本身的类型存在,也可以作为其父类类型存在。


多态的语法:

(1)自动类型转换:这是小转大自动转

父类  父对象 = new 子类构造方法

(2)强制类型转换:这是大转小

父类  父对象 = new  子类构造方法

子类  子对象 = (子类类型)父对象

记住赋值号左边同名方法被赋值号右边同名方法覆盖。



多态的深入理解:

我们都能知道抽象类不能实例化但是可以含有多个实现的方法,既然不能实例化,那么含有这些方法又有什么意义呢?
记住一个对象实例化需要几个条件,但是最重要的是必需要在堆区开辟一块内存空间,而且所有方法必须实现。而抽象类不能实例化,那么也就是不能new出一块空间来,所以多态性的出现也能够解决这个问题。假设父类是抽象类,既然父类不能new,那么何不子类能new,借给父类用呢,多态性出现就能解决为抽象类提供了一块内存空间,但是还是不能实例化,因为还有抽象方法,所以多态性又有一个原则,赋值号左边同名方法覆盖右边的同名方法。这样就能很好的解决抽象类也能调用方法的问题了。


多态实例:

public class Text {
   public static void main(String[]arys){
  //p  1、new出空间    2、没有抽象方法
  Person p ;
  //自动类型转换:
  p = new Man();
  p.eat();
  p.talk();
  //强制类型转换
  Person p1 =new Man();
  p1.talk();
  Man a=(Man)p1;
  a.talk();
    
   }
}

//父类
abstract class Person {
String name;
public  void eat(){};
public void talk(){
System.out.println("父类talk方法");
}
}
//子类
class Man extends Person{
int age;

public void eat(){
System.out.println("子类的eat方法");
}
public void talk(){
System.out.println("子类的talk方法");
}
}



欢迎大家收看我的在线Java全套免费教学超清视频:

http://v.youku.com/v_show/id_XODQ1NjU0NDc2.html   这是其中的一个视频连接,大家可以拖动到优酷视频下方,订阅我的账号,因为以后我会有更多视频免费提供

百度搜索:输入Fcs_D调的码农 ,或者输入"胡博君"就能看到我的很多视频

或者加我的微信号:fcsboy     我可以及时通过微信通知你们

QQ学习群:237053693




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值