zoukankan      html  css  js  c++  java
  • Java基础学习篇---------多态

    一、多态性的理解

      1.向上转型:子类为父类对象实例化,调用的一定是子类覆写的方法,他们之间找的是共性

      2.向下转型:子类扩充了父类的某些功能,而父类中没有该功能,他们之间找的是特性

      案例: Number(父类)    Number1(子类)

      Number number = (Number1)new Number(); //ClassCastException: com.example.lib4.Number cannot be cast(强制转换的异常)
      number.printf();

      在向下转换之前一定进行向上转换,让父类知道哪个是它的子类,才可以进行强制类型的转换

      3. instaceof 关键字 :  返回boolean数据

       作用 : 判断某一个对象是否是某一个类的实例  

          if(number instanceof Number1){}


    二、abstract关键字的使用
      1.使用规则:
       (1).抽象类不能实例化
       (2).抽象类一定被子类来继承
       (3).抽象类中可以没有抽象方法,一旦有抽象方法,子类必须覆写抽象类的抽象方法

    类似于C++的Virtual的关键字使用,父类不用去实现,子类必须取实现的方法

    三、接口的使用interface以及implents

      1.简单的接口定义:   

      interface A{
       public static final String MSG = "hello world";
       public abstract void be();
      }
      
      2.使用规则
       (1). 接口必须有子类,子类使用implents进行接口实现,一个子类可以同时实现多个接口
       (2). 接口的子类(如果不是抽象类),一定要覆写接口中全部的方法
       (3). 接口可以实现子类向上转型,进行实例化操作
      
      3.接口的一些概念
       (1).一个类既要继承父类又要实现接口的顺序 : 先继承后实现接口
       (2).接口中的访问权限都是public
       (3).一个类可以实现多个implents的接口,但是接口不能继承类(反之则不成立)
       (4).一个接口可以使用extends来继承多个implents的接口 (接口实现接口的多继承,但接口不能继承类)
       (5).static定义的内部接口就是外部接口,static定义的内部类就是外部类
      
      4.接口的简单的程序
      
      调用方法的实现:
      Compter compter = new Compter();
      compter.plugin(new Flash());
      compter.plugin(new Print());

      

    public interface IPlayerGame {
    public void playGame();
    }
    public class Circle extends Shape implements IPlayerGame {
    private double r = 1.0;
    private double z = 0;
    @Override
    public int sum() {
    return (int)(z = 3.14 * r * r);
    }

    @Override
    public void playGame() {

    }
    }
    四、抽象类和接口的区别

        

    五、项目中总结性概念

      


      


      

       

  • 相关阅读:
    bash 中 () {} [] [[]] (()) 的解释
    正则表达式速查笔记
    Makefile速查笔记
    gflags 编译动态库
    在Win10上运行ESXI-Comstomer
    GNU g++常用编译选项用法
    C++标准转换运算符reinterpret_cast
    BZOJ 3211: 花神游历各国【线段树区间开方问题】
    BZOJ 1597: [Usaco2008 Mar]土地购买【斜率优化+凸包维护】
    BZOJ 1046: [HAOI2007]上升序列【贪心+二分状态+dp+递归】
  • 原文地址:https://www.cnblogs.com/liunx1109/p/9773853.html
Copyright © 2011-2022 走看看