zoukankan      html  css  js  c++  java
  • OO面向对象——多态

    多态

    • 动态编译:可扩展性

    • 及同一种方法可以根据发送对象的不同而采用不同的行为方式

    • 一个对象的实际类型是确定的,但是指向对象的引用类型有很多

    public class person {
       public void run(){
           System.out.println("run");
      }
    }
    public class Student extends person{
       @Override
       public void run() {
           System.out.println("mo");
      }
    }
    public class Test {
       public static void main(String[] args) {
           person a = new Student();
           Student b = new Student();
           a.run();
           b.run();
      }
    }

    子类重写父类的方法后,创建的对象无论时父类的引用还是子类的引用。都会执行子类的重写后的方法。

    public class person {
       public void run(){
           System.out.println("run");
      }

       public void say(){
           System.out.println("say");
      }
    }
    public class Student extends person{
       @Override

       public void run() {
           System.out.println("mo");
      }
    }
    public class Test {
       public static void main(String[] args) {
           person a = new Student();
           Student b = new Student();
           a.run();
           b.run();
           b.say();
           a.say();
      }
    }

    子类不重写父类的方法,会继承父类的逻辑。子类使用的方法是自己的或者继承父类的。

    父类型可以指向指向子类,但是不能调用子类独有的方法。

    对象可以执行哪些方法看左边的引用类型,和右边无关。

    • 多态的注意事项

      1.多态是方法的多态,属性没有多态。

      2.父类和子类有联系,可以进行转换

      3.多态存在条件:继承关系,方法需要重写,父类引用指向子类对象。

      不能重写的方法:static修饰的方法、final修饰的方法、private修饰的方法

       public final void teach(){
             System.out.println("111");
      }

        public static void teach(){}

    静态方法属于类 ,应使用类名+方法,因为超类和子类类名不同,同名的静态方法完全没有关系。

     
     
  • 相关阅读:
    一张图片入门Python
    4.1. 如何在Windows环境下开发Python
    你必须知道的EF知识和经验
    XUnit的使用
    如何使用NUnit
    Entity Framework 不支持DefaultValue
    Have You Ever Wondered About the Difference Between NOT NULL and DEFAULT?
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
    Entity Framework 与多线程
    sqlite中的自增主键
  • 原文地址:https://www.cnblogs.com/xianxiansir/p/12663835.html
Copyright © 2011-2022 走看看