首页 > 代码库 > 多态(三)
多态(三)
1.多态
1.1多态:一种事物的多种形态
1.2多态的表现
行为(方法)多态:重写和重载
引用多态(动态绑定):编译时的类型和运行时的类型不一致的这种现象叫动态绑定
eg:父类=子类 Pet p=new Dog();
1.3向上转型和向下转型
向上转型:父类=子类
eg:Pet p=new Dog();
向下转型:子类=(子类)父类
eg:Dog d=(Dog)p;
注意:java.lang.ClassCastException:类型转换异常
父类的运行时类型跟要转成子类的类型的不一致
注意:引用多态存在继承关系
2.instanceof
语法:对象A instanceof 类型B
判断对象A的类型是否是类型B,如果是就返回true,否则返回false
eg:d instanceof Dog
3.实现多态的两种形式
a.使用父类作为方法形参实现多态
eg:public void paly(Pet p){...};
b.使用父类作为方法返回值实现多态
eg:public Pet getPet(int type){...};
1 package Day11四; 2 3 public interface A { 4 public void sub(); 5 }
1 package Day11四; 2 3 public interface B { 4 public void sub(); 5 }
1 package Day11四; 2 /** 3 * 特殊的抽象类 4 * 1.接口所有方法都是抽象方法 5 * 2.接口只能定义常量 6 * @author Administrator 7 * 8 */ 9 public interface MyInterface extends A,B{ 10 public static final int A=10; 11 public void add(); 12 }
1 package Day11四; 2 /* 3 * 引用多态:父类去引用子类实例 4 */ 5 public class Test { 6 public static void main(String[] args) { 7 int a=MyInterface.A; 8 System.out.println(a); 9 } 10 }
运行结果:
10
多态(三)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。