Java继承知识:多态,抽象类,接口

多态

  • instanceof
    java中的instanceof运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例
    使用格式: 对象 instanceof 类
    使用解析:
    形参 和实参 和 右边的类型
    主要是看实参对象是否属于右边的类型
  • 多态
    什么是多态?
    把子类的实例化对象赋值给父类的引用类型便称之多态现象;
    多态又命多种状态: 多态 = 继承 + 重写
    多态的接地气的理解:父类作为形参,子类类型作为实参

抽象类

  • 抽象类
    什么是抽象类,什么是抽象方法?
    在父类的方法被子类重写覆盖不可以被调用到时,索性去掉方法体变为抽象方法!可以理解为用进废退
    将父类中被重写的方法的方法体删掉,用abstract修饰,就相当于将这个方法声明为一个抽象方法,顺带将该类声明为抽象类。前提该方法中的方法体没有任何实际的作用。

  • 抽象类的语法规则
    1.被abstract修饰的类是抽象类
    2.抽象类中可以有抽象方法,也就是被abstract修饰的方法,也可以没有。
    3.抽象方法没有方法体,只有方法声明。
    4.子类继承抽象类需要重写父类所有的抽象方法,否则,子类也必须声明为抽象类
    5.抽象类有构造方法,但是不能被显示调用,也就是不能实例化,或者说抽象类没有对象。
    6.抽象类的构造方法只在子类实例化时隐式调用。
    7.抽象类的使用一般是作为引用类型,指向非抽象的引用实例,体现出多态。
    8.构造方法和静态方法都不能(abstract)抽象修饰
    静态方法不能被子类覆盖(重写),一旦声明为抽象方法 将永远没有具体的实现

接口

  • 如何理解接口:
    接口可以理解为定义的一组通用的组件,或者是功能模块。接口比抽象类更抽象,已经完全抽象得没边没影。对外提供服务的功能模块。

  • 接口的语法规则:
    1.定义一个接口:
    public interface 接口名{
    }
    和定义类的区别在于,将class关键字换成了interface
    2.接口中也有成员属性和方法
    所有的成员属性都是 public static final (公共的静态常量)类型
    所有的方法都是:public abstract (公共的抽象方法)
    3.abstract(抽象)只修饰类和方法,不修饰属性和变量。
    4.Static(静态)只修饰属性和方法,不修饰局部变量,也就是定义在方法体中的变量。
    5.This 和super abstract static 能够修饰什么?类 成员属性 方法 局部变量

你可能感兴趣的:(多态,抽象类,java,接口)