zoukankan      html  css  js  c++  java
  • Java抽象类

    一、解释:

    Java的普通类是一个完善的功能类,可以直接实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。

    java抽象类是拥有抽象方法的类,要用abstract修饰。

    拥有抽象方法的类就是抽象类,抽象类不可以直接实例化对象,无法进行实例化操作:因为抽象类里有抽象方法,但抽象方法又没有方法体,无法调用,无法调用方法便无法实例化对象

    抽象类的使用原则如下:
    (1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public;
    (2)抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;
    (3)抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
    (4)子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。);

    (5)抽象类继承子类里面有明确的方法覆写要求,而普通类可以有选择性的来决定是否需要覆写;
    (6)抽象类实际上就比普通类多了一些抽象方法而已,其他组成部分和普通类完全一样;
    (7)普通类对象可以直接实例化,但抽象类的对象必须经过向上转型之后才可以得到。

    虽然一个类的子类可以去继承任意的一个普通类,可是从开发的实际要求来讲,普通类尽量不要去继承另外一个普通类,而是去继承抽象类。

    且抽象类中一定含有构造方法,存在的目的就是为了属性的初始化,并且子类对象实例化的时候,依然满足先执行父类构造,再执行子类构造的顺序。

    所有的子类如果要想正常的完成操作,必须按照指定的方法进行覆写才可以,而这个时候抽象类所起的功能就是一个类定义模板的功能。

  • 相关阅读:
    锋利的Jquery 读书有感(三)
    锋利的Jquery 读书有感(二)
    锋利的Jquery 读书有感
    读head first servlet and jsp有感(3)(转)
    读head first servlet and jsp有感(2)(转)
    读head first servlet and jsp有感(1)(转)
    JSTL标签与EL表达式之间的微妙关系
    JDBC学习
    Mysql学习(二)
    JAVA相关问题整理(四)
  • 原文地址:https://www.cnblogs.com/nilbook/p/13922699.html
Copyright © 2011-2022 走看看