zoukankan      html  css  js  c++  java
  • Java基础学习--抽象类与抽象函数

    • 抽象类的作用是强制定义了其子类的实现要求(抽象类中有一些抽象方法,子类若想继承自抽象类则必须覆盖这些方法。在实际开发中,几乎不会使用普通类来定义子类,大多数都是继承抽象类)
    • 规范:abstract class A {

             public abstract void fun1();

             public void fun2() {

             System.out.println("hello");

             } 

             }

    • 抽象类不能制造对象,但是可以定义变量,赋给这个变量的一定是他非抽象子类的对象;
    • 抽象类中的抽象函数没有函数体,例如:public abstract void move();
    • 一个抽象类可以没有任何抽象方法,所有的方法都有方法体,但是整个类是抽象的。
    • 抽象类中所有的的抽象函数必需子类的覆盖,而非抽象函数不需要覆盖。因为子类会继承父类的函数,如果不去覆盖继承来的抽象函数,那么子类就含有抽象函数,含有抽象函数的类必须要声明为抽象类。
    • 设计这样的抽象类主要是为了防止制造它的对象出来。
    • 有抽象方法的类一定是抽象类!(有abstract修饰的方法,并且方法没有方法体,这样的类一定是抽象类,并且类前面一定要有abstract来修饰)
    • 但抽象类不一定有抽象方法(有abstract来修饰的类一定是抽象类,但抽象类里不一定有抽象方法)

    相关说明:

    1. 抽象类不能用final来定义,抽象类必须有子类,而final不能有子类。
    2. 抽象类只是比普通类多了构造方法而已,普通类中的所有结构抽象类都可以定义,包括普通方法、构造方法、属性、常量等内容;而且子类对象也符合对象实例化流程,先调用父类中的无参构造方法,而后再执行子类自己的构造操作。
    3. 抽象类中可以没有抽象方法,但是依然不能用关键字new进行实例化操作。
  • 相关阅读:
    linux 网络编程
    linux之有名管道
    linux之无名管道
    linux进程
    Linux中的内核链表
    dell戴尔服务器配置RAID5(3块硬盘做RAID5+1块热备)(转发)
    盘点SQL on Hadoop中用到的主要技术
    垃圾回收算法
    JDK 中的监控与故障处理工具-05 (jstack)
    JDK 中的监控与故障处理工具-04 (jmap)
  • 原文地址:https://www.cnblogs.com/xingyazhao/p/5947826.html
Copyright © 2011-2022 走看看