• Java中的多态


    多态:对象的多种形态

    注:在使用多态的时候,两个类需要有继承关系。

    1.引用多态:父类的引用可以指向本类的对象;父类的引用可以指向子类的对象。子类的引用不可以指向父类的对象。
    2.方法多态:创建本类对象时,调用的方法为本类方法;
    创建子类对象时,调用的方法为子类重写的方法或继承的方法。

    注:如果子类具有一个独有的方法,那么就不能通过父类的引用调用子类独有的方法。

    1 package com.imooc;
    2 
    3 public class Animal {
    4     public void eat(){
    5         System.out.println("动物具有吃的能力");
    6     }
    7 }
     1 package com.imooc;
     2 
     3 public class Dog extends Animal {
     4     public void eat(){
     5         System.out.println("狗是吃肉的");
     6     }
     7     
     8     public void watchDoor(){
     9         System.out.println("狗具有看门的功能");
    10     }
    11 }
    1 package com.imooc;
    2 
    3 public class Cat extends Animal {
    4 
    5 }
     1 package com.imooc;
     2 
     3 public class Initial {
     4 
     5     public static void main(String[] args) {
     6         // TODO Auto-generated method stub
     7         Animal obj1 = new Animal();  //父类引用指向本类对象
     8         Animal obj2 = new Dog();     //父类引用指向子类对象
     9         //Dog obj3 = new Animal();   //子类的引用不能指向父类的对象
    10         Animal obj3 = new Cat();
    11         
    12         obj1.eat();    //创建本类对象时,调用的方法为本类方法
    13         obj2.eat();    //创建子类对象时,调用的方法为子类重写的方法
    14         obj3.eat();    //创建子类对象时,调用的方法为子类继承的方法
    15         
    16         //obj2.watchDoor();    //不能通过父类的引用调用子类独有的方法
    17     }
    18 
    19 }
  • 相关阅读:
    golang_并发安全: slice和map并发不安全及解决方法
    什么情况下需要用到互斥锁sync.Mutex?
    使用Charles进行HTTPS抓包
    centos6 yum 源失效 404,终于解决了
    GOMAXPROCS你设置对了吗?
    容器资源可见性问题与 GOMAXPROCS 配置
    gflags 使用方式
    分布式训练问题
    NCCL常用环境变量
    git 常用命令
  • 原文地址:https://www.cnblogs.com/100thMountain/p/5401691.html
Copyright © 2020-2023  润新知