接口vs 抽象类&&接口中 publicstaticfinal 设计的原理

    xiaoxiao2021-12-14  20

      

     

    抽 象 类

    接 口

       成员函数     

          抽象/ 非抽象

     默认 public  abstract

       成员变量

          普通 、非普通

    默认 public  static  final

       属性访问权限   

          自定义

     默认 public  static

    (原理: "模版"的实现类的共有特性,所以它是public static的)

       实例化

        可以有构造方法,但不能实例化       

         Cannot instantiate the type xxx

    无构造方法,不能被实例化

    Interfaces cannot have constructors.

       应用角度

         实现代码重用,

        多见于代码实现方面

                                            定义模块之间通信契约,

                                     多见于系统架构设计时发挥作用

     

     

       联系

     

    接口是一种特殊的抽象类。

    派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)

    不能实例化;

    包含未实现的方法声明;

    除了被继承,没有任何意义。

    抽象类是对象的抽象,然而接口是一种行为规范。

    =================================================================================================================================

    1.常量使用public static final的原理:

    final   定义常量。一次赋值,终身使用。Java中用final标识常量。

    static  静态变量,全局访问。无需初始化对象,可用类名直接访问。只被分配一次内存,节约内存;不必初始化对象,使用方便。

    public  接口作为模板,访问权限需要保证任意访问。

    2.  static

    成员变量和成员函数:如若是static,可用   ClassName.variableName   / ClassName.functionName()  访问。

    ps:

    静态方法使用原则:1,有且只能调用其他static方法    2,只能访问static 变量   3, 不能用super,this

    类: 如若是static, 一般普通类不支持设为静态类。常用于内部类。无需实例化外部类。 

    3.JVM 加载顺序:

    静态成员变量 --> 静态代码块 -->  同等级按照前后顺序加载

    转载请注明原文地址: https://ju.6miu.com/read-968433.html

    最新回复(0)