首页 > 代码库 > java 多态
java 多态
package com.mydemo.controller; /** * 多态 * java 多态有三个条件: * 1、继承 2、重写 3、父类引用指向子类对象 * ------------------------------------- * java 父类引用不能访问子类成员变量 * 需要强转 * 在强转前还要 instanceof, 不instanceof 也可以,但为了程序的健壮性,建议强转 * ------------------------------------- * 但调用子类重写的方法因为有多态,就不需要强转了 */ public class TestAnimal { public static void main(String[] args) { Animal dog = new Dog("大黄", "黄"); dog.enjoy(); /* 下面一行实际上并没有强转,dog还是一只Animal, * 因为dog 引用在声明时是Animal */ dog = (Dog)dog; // System.out.println(dog.furColor); Dog bigYellow = (Dog)dog; System.out.println(bigYellow.furColor); } } class Animal { public String name; public Animal(String name) { this.name = name; } public void enjoy() { System.out.println("叫……"); } } class Dog extends Animal { public String furColor; public Dog(String name, String furColor) { super(name); this.furColor = furColor; } public void enjoy() { System.out.println("狗叫……"); } }
java 多态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。