首页 > 其他 > 详细

多态(2019年10月16日)

时间:2019-10-16 18:35:52      阅读:45      评论:0      收藏:0      [点我收藏+]

多态的定义:同一个行为具有多个不同表现形式或形态的能力

多态的好处:高类聚,低耦合

父类引用指向子类对象  

Person a=new Student();
a.eat();

调用看左,执行看右(在eclipse里面,写一个对象a在加一个点号,后面提示的内容就是可以选择的方法,后面也有这个方法是那个类里面的)

类型的转换包含:1.基本数据类型的转换 2.引用数据类型的转换(继承和接口)

Person ----------强转-------------Student

Student----------自动-------------Person

在可以转换的前提下,向上转自动转,向下转强转。

自动类型转换:向上转换(比如方法需要传入的参数是一个Person对象,但是你输入了一个Student对象,这就是自动类型装换,在Student对象前面不用手动添加(Person))

强制类型转换:向下转换,向下强制类型转换的下限为内存当中实际存储的类型

之前我们已经知道在需要传入Person对象的方法中,我们可以传入一个Student,我们也还可以传入一个Personq其他的子类,如果不同的子类要实现不同的逻辑,我们可以用instanceof来判断是否为我们需要的类型

public void doSomething(Person p){
  if(p instanceof Student){
      System.out.println("这是学生!");  
  
  }else{
  
    System.out.println("这是学生!")

  }
    }

instanceof:判断左边的对象是不是右边的类型,返回一个boolean类型的值

1.左边不能是基本数据类型

2.左边对象能否进行判断,看能否转换成右边的类型。(如果左边的对象可以自动转换或者强行转换成右边的类型)

多态(2019年10月16日)

原文:https://www.cnblogs.com/Starlets/p/11686602.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!