搜索
首页JavaJava基础java抽象类是什么

java抽象类是什么

Nov 11, 2019 am 11:48 AM
java

Java语言中,用abstract 关键字来修饰一个类时,这个类叫作抽象类。抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。

java抽象类是什么

抽象类可以看作是对类的进一步抽象。在面向对象领域,抽象类主要用来进行类型隐藏。

抽象方法             (推荐学习:java课程

在抽象类中可以包含一般方法和抽象方法。抽象方法的定义与一般方法不同,抽象方法在方法头后直接跟分号,而一般方法含有以大括号框住的方法体。所有的抽象方法必须存在于抽象类中。

在抽象类中定义的方法称为抽象方法,这些方法只有方法头的声明,而用一个分号来代替方法体的定义,即只定义成员方法的接口形式,而没有具体操作。

只有派生类对抽象成员方法的重定义才能真正实现与该派生类相关的操作。

在各子类继承了父类的抽象方法之后,再分别用不同的语句和方法体来重新定义它,形成若干个名字相同、返回值相同、参数列表相同、目的一致但是具体实现有一定差别的方法。

抽象类中定义抽象方法的目的是实现一个接口,即所有的子类对外都呈现一个相同名字的方法。

在Java语言中使用abstract class来定义抽象类。如下实例:

/* 文件名 : Employee.java */public abstract class Employee{
   private String name;   private String address;   private int number;   public Employee(String name, String address, int number)
   {
      System.out.println("Constructing an Employee");      this.name = name;      this.address = address;      this.number = number;   }
   public double computePay()
   {
     System.out.println("Inside Employee computePay");     return 0.0;   }
   public void mailCheck()
   {
      System.out.println("Mailing a check to " + this.name
       + " " + this.address);   }
   public String toString()
   {
      return name + " " + address + " " + number;   }
   public String getName()
   {
      return name;   }
   public String getAddress()
   {
      return address;   }
   public void setAddress(String newAddress)
   {
      address = newAddress;   }
   public int getNumber()
   {
     return number;   }}

注意到该 Employee 类没有什么不同,尽管该类是抽象类,但是它仍然有 3 个成员变量,7 个成员方法和 1 个构造方法。

但是需要继承重写抽象方法,不能直接实例化。

以上是java抽象类是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器