在Java中,抽象類是一種不能實(shí)例化的類,它用于被其他類繼承。抽象類可以包含抽象方法、普通方法、屬性等,但是抽象類不能被實(shí)例化,只能被子類繼承并實(shí)現(xiàn)其抽象方法。
抽象方法是沒有實(shí)現(xiàn)的方法,需要在子類中進(jìn)行實(shí)現(xiàn)。使用abstract關(guān)鍵字來修飾抽象方法。抽象方法必須在抽象類中聲明,而且不能有方法體。抽象方法的聲明格式如下:
abstract void methodName();
例如:
public abstract class Shape {
abstract void draw();
}
public class Circle extends Shape {
@Override
void draw() {
System.out.println("Drawing a circle");
}
}
在這個(gè)例子中,Shape是一個(gè)抽象類,它包含了一個(gè)抽象方法draw(),這個(gè)方法需要在子類中進(jìn)行實(shí)現(xiàn)。Circle是Shape的子類,它實(shí)現(xiàn)了draw()方法。
在使用抽象類時(shí),通常會(huì)將它定義成一個(gè)父類,讓子類繼承并實(shí)現(xiàn)其抽象方法。這樣,可以在父類中定義一些通用的屬性和方法,讓子類共享這些屬性和方法。