Rumah >Java >javaTutorial >java中什么是抽象类?抽象类的声明

java中什么是抽象类?抽象类的声明

青灯夜游
青灯夜游asal
2018-11-24 17:49:117140semak imbas

本篇文章给大家带来的内容是介绍java中抽象类,让大家对抽象类有一个简单的了解,知道抽象类是什么,怎么声明。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

在我们介绍抽象类之前,我们首先来了解一下Java中的抽象是什么?

在java中抽象是隐藏实现细节并仅向用户显示功能的过程。

抽象只向用户显示基本内容并隐藏内部细节,例如,发送SMS,在其中输入文本并发送消息;但我们并不知道消息传递的内部处理是什么。

抽象可以让你专注于对象所做的事情,而不是它是如何完成的。

那么如何实现抽象?

有两种方法可以在java中实现抽象

1、抽象类(0到100%的实现抽象)

2、接口(100%实现抽象)

下面我们就来介绍Java中的抽象类是什么?

在java中声明为abstract的类称为抽象类。它可以有抽象和非抽象的方法,需要扩展并实现其方法,但无法实例化。

Java抽象类需要记住的要点:

1、必须使用abstract关键字声明抽象类。

2、它可以有抽象和非抽象的方法。

3、它无法实例化。

4、它也可以有构造函数和静态方法。

5、它可以有最终方法,强制子类不要改变方法的主体。

抽象类示例:

abstract class A{}

Java中的抽象方法是什么

声明为抽象且没有实现的方法称为抽象方法。

抽象方法的示例

abstract void  printStatus(); //没有方法体和抽象

抽象类的示例

具有抽象方法的抽象类的示例

在此示例中,Bike是一个抽象类,只包含一个抽象方法。它的实施由Honda类提供。

abstract class Bike{  
  abstract void run();  
}  
class Honda extends Bike{  
void run(){
   System.out.println("安全运行..");
}  
public static void main(String args[]){  
 Bike obj = new Honda();  
 obj.run();  
}  
}

运行结果:

1.jpg

具有构造函数,数据成员和方法的抽象类

抽象类可以有一个数据成员,抽象方法,方法体(非抽象方法),构造函数,甚至main()方法。

//具有方法体的抽象类的示例
abstract class Bike{
   Bike(){
      System.out.println("自行车制造");
   }
   abstract void run();
   void changeGear(){
      System.out.println("齿轮更换");
   }
}
class Honda extends Bike{
  void run(){
       System.out.println("安全运行..");
  }
}
class TestAbstraction2{
  public static void main(String args[]){
     Bike obj = new Honda();
     obj.run();
     obj.changeGear();
 }
}

运行结果:

2.jpg


注:

1、如果类中有抽象方法,则该类必须是抽象的。

2、如果扩展具有抽象方法的抽象类,则必须提供方法的实现或使这个类抽象。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

Atas ialah kandungan terperinci java中什么是抽象类?抽象类的声明. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn