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进行实例化操作。
  • 相关阅读:
    Ajax实现表单验证
    JDK配置环境变量
    Java判断指定日期是星期几
    坚持不懈,直到成功
    Struts Action返回xml
    springMVC获得HttpServletRequest对象
    Ubuntu添加eclipse快捷方式
    如何给tomcat 7.0.32添加用户
    使用FusionCharts Free显示图表(JSP)
    Simulate a Windows Service using ASP.NET to run scheduled jobs
  • 原文地址:https://www.cnblogs.com/xingyazhao/p/5947826.html
Copyright © 2011-2022 走看看