美文网首页
Java基础-11 多态

Java基础-11 多态

作者: 往南渡 | 来源:发表于2017-03-24 11:24 被阅读0次
java-11.jpg

多态: 父类引用类型变量指向了子类的对象或者是接口的引用类型变量指向了接口实现类的对象。 (一个对象具备多种形态)

多态的前提: 必须存在继承或者实现关系。

多态要注意的细节:
1. 多态情况下,子父类存在着同名的成员变量时,默认会访问父类的成员变量。
2. 多态情况下,子父类存在着同名的非静态函数时,默认是访问子类的成员函数。
3. 多态情况下,子父类存在着同名的静态函数时,默认是访问父类的成员函数。
4. 多态情况下,不能访问子类特有的成员。

总结:
多态情况下,子父类存在同名的成员时, 默认都会访问父类的成员.只有存在非静态的
同名函数时,才是访问子类的成员。
编译看左边,运行不一定看 右边
编译看左边: java编译器在编译的时候,会检查引用类型变量所属的类是否具备指定的成员,如果不具备,编译报错。

多态的应用场景

abstract class Animal{

String name;

String color;

static  int age = 10;

public Animal(String name,String color){
    this.name = name;
    this.color = color;
}

public abstract void run();

public static void sleep(){
    System.out.println("动物睡觉...");
}

}

//狗
class Dog extends Animal{

static int age = 20; 

public Dog(String name,String color){
    super(name,color);
}

public  void run(){
    System.out.println(name+"四条腿跑...");
}

public static void sleep(){
    System.out.println("狗在睡觉...");
}

//狗特有的方法
public void bite(){
    System.out.println(name+"咬人");
}

}

class Demo
{
public static void main(String[] args)
{

     Dog d = new Dog("沙皮","棕色");
     d.run();
    Animal a = new Dog("哈士奇","白色");  //多态   父类的引用类型变量指向了子类的对象。
    //System.out.println("年龄:"+ a.age);
    //a.sleep();
    a.bite();
}

}

相关文章

  • Java基础-11 多态

    多态: 父类引用类型变量指向了子类的对象或者是接口的引用类型变量指向了接口实现类的对象。 (一个对象具备多种形态)...

  • 招银网络面试题、考点、知识点总结(Java岗)

    java基础 全是基础不用多说肯定考的多,尤其是招银 OOP特性/java语言特性:封装、继承、多态 多态具体的表...

  • 招银网络面试题、考点、知识点总结(Java岗)

    java基础 全是基础不用多说肯定考的多,尤其是招银 OOP特性/java语言特性:封装、继承、多态 多态具体的表...

  • Java笔记

    Java基础 Java面试通关要点 1.面向对象的特征 封装 继承 多态 封装继承多态 2.final,final...

  • Android面试

    JAVA 基础 java的特点 (OOP),封装、继承、多态 ==、equals、hashCode的作用,区别 什...

  • 面经一

    目的: 总结下面试时遇到的问题,并附上自己的答案. 1 Java基础 1.1 Java的继承,多态。 以及多态...

  • Java基础-多态

    1.什么是多态: 同一个对象在不同时刻体现出来的不同状态. 2.多态的前提: A:有继承或者实现关系.B:有方法重...

  • JAVA基础-多态

    JAVA基础-多态 结论: 1、当子父类中出现同名的成员变量时,多态调用该变量时,如果父类没有该变量,则编译失败。...

  • Java基础-多态

    一、实质(比较官方的回答) 多态是指:当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,而这一切对...

  • Java的基本特性

    关系 Java的四个基本特性分别是抽象,封装,继承,多态。概括起来可以这么理解,抽象、封装、继承是多态的基础,多态...

网友评论

      本文标题:Java基础-11 多态

      本文链接:https://www.haomeiwen.com/subject/fdoxottx.html