zoukankan      html  css  js  c++  java
  • 高级类特性----抽象类(abstract class)

    抽象类(abstract class)


    随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。

    abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法

    抽象方法:只有方法的声明,没有方法的实现。以分号结束
      abstract int abstractMethod1( int a );

    含有抽象方法的类必须被声明为抽象类

    抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体

    不能用abstract修饰私有方法,构造方法,静态方法


    抽象类举例

    abstract class A {
      abstract void m1( );
      public void m2( ) {
        System.out.println("A类中定义的m2方法");
      }
    }

    class B extends A {
      void m1( ) {
        System.out.println("B类中定义的m1方法");
      }
    }

    public class Test {
      public static void main( String args[ ] ) {
        A c = new B( );
        c.m1( );
        c.m2( );
      }
    }


    抽象类应用

    抽象类是用来模型化那些父类无法确定全部实现,而是由其子类提供具体实现的对象的类

    public class TestAbstract {

      public static void main(String[] args) {
        E e = new F();
      }
    }

    abstract class E {
      abstract void test();
      private void aa() {}
    }

    class F extends E {

      @Override
      void test() {
      }
      void aa() {}
    }

  • 相关阅读:
    DIV+CSS对SEO的帮助
    几种CSS及网站开发常犯的错误
    DIV CSS让搜索引擎蜘蛛不再累
    DIV CSS布局概述及初步入门
    闭合浮动元素(clearingfloat)的简单方法
    Vue学习(十三)模版引擎算是预处理器吗?
    base64学习(二)base64应用于图片
    base64学习(一)Base64的编码转换方式
    HTTP学习(四)短连接和长连接
    favicon.ico学习(三)实战
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7228955.html
Copyright © 2011-2022 走看看