• JAVA抽象类和接口


    注意事项:

    1、非抽象类不能包含抽象方法;在一个有抽象类扩展出来的非抽象类中,所有的抽象方法都必须实现,即使这个子类不使用它们。抽象方法是非静态的。

    2、抽象类不能用new操作符实例化,但仍然可以定义它的构造方法,这种构造方法将在它子类的构造方法中调用。

    3、子类可以声明为抽象的,即使它的父类是具体的;子类可以覆盖它父类的方法,将其声明为abstract。这种方法非常少用,但是当父类中方法的实现在子类中无效时,这种方法就有用了,这种情况下,子类必须声明为抽象的。

    4、不能用new操作符创建抽象类的实例,但是,抽象类可以用作数据类型:

    GeometricObject[] objects=new GeometricObject[10];

     5、在接口中,所有的数据域都是public finial static的,所有的方法都是public abstract的,由于这个原因,Java可以忽略这些修饰符,下面的声明是等价的:

    public interface T1{
        public static final int K=1;
        public abstract void p();
    }

    等价于

    public interface T1{
        int K=1;
        void p();
    }

     6、利用extends关键字,接口可以继承其他接口,例如:

    public interface NewInterface extends Interface1,Interface2,...,InterfaceN{
        //...
    }

    一个实现NewInterface的类必须实现定义在NewInterface,Interface1,Interface2,。。。,InterfaceN中的抽象方法。一个接口只能扩展其他接口,不能扩展类。一个类可以扩展它的父类并实现多个接口

  • 相关阅读:
    Leetcode-645 Set Mismatch
    2017百度软研(C++)
    二叉树中任意两个节点的最近公共祖先
    不用加减乘除做加法
    一些leetcode算法题
    Leetcode 98. Validate Binary Search Tree
    C++ 通过ostringstream 实现任意类型转string
    Leetcode 215. Kth Largest Element in an Array
    382. Linked List Random Node
    一些基础函数的实现
  • 原文地址:https://www.cnblogs.com/acaciasun/p/3156646.html
Copyright © 2020-2023  润新知