zoukankan      html  css  js  c++  java
  • 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中的抽象方法。一个接口只能扩展其他接口,不能扩展类。一个类可以扩展它的父类并实现多个接口

  • 相关阅读:
    难以实践敏捷:估算
    使用AsyncEnumerator简化异步操作
    ESXi 入门配置
    学习模式,不如先了解问题
    我应该用哪种虚拟机?(一)
    在2003上实现Custom Task Pane
    我应该用哪种虚拟机?(终)
    我应该用哪种虚拟机?(二)
    正则表达式周二挑战赛 第十二周
    [译]Node中的ES6特性
  • 原文地址:https://www.cnblogs.com/acaciasun/p/3156646.html
Copyright © 2011-2022 走看看