W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
抽象類(lèi)是抽象的想法或概念。例如,int數(shù)據(jù)類(lèi)型是一個(gè)具體的數(shù)據(jù)類(lèi)型,double是另一個(gè)數(shù)據(jù)類(lèi)型具體數(shù)據(jù)類(lèi)型。 他們都是數(shù)字。 這里數(shù)字是一個(gè)抽象的概念。形狀是另一個(gè)例子。 我們可以有備用,矩形或三角形或圓形。 他們都是具體的,而形狀是一個(gè)抽象類(lèi)。
在Java中,我們使用抽象類(lèi)來(lái)定義抽象概念。 抽象概念必須有一些抽象方面。 例如,抽象概念是Shape,而抽象方面是如何計(jì)算面積。抽象概念在Java中變成抽象類(lèi),抽象方面成為抽象方法。
您可以要求通過(guò)指定子類(lèi)來(lái)重寫(xiě)某些方法抽象類(lèi)型修飾符。要聲明抽象方法,請(qǐng)使用以下一般形式:
abstract type name(parameter-list);
抽象方法沒(méi)有方法體。任何包含一個(gè)或多個(gè)抽象方法的類(lèi)也必須聲明為抽象。
abstract class MyAbstractClass{ abstract type name(parameter-list); }
這里是一個(gè)抽象類(lèi),后面是一個(gè)實(shí)現(xiàn)其抽象方法的類(lèi)。
abstract class MyAbstractClass { abstract void callme(); void callmetoo() { System.out.println("This is a concrete method."); } } class B extends MyAbstractClass { void callme() { System.out.println("B"s implementation of callme."); } } public class Main { public static void main(String args[]) { B b = new B(); b.callme(); b.callmetoo(); } }
輸出:
下面的代碼將 Shape
類(lèi)定義為abstract。 shape 類(lèi)有抽象方法稱(chēng)為area()。 Rectangle
類(lèi)擴(kuò)展抽象類(lèi) Shape
并為其自身實(shí)現(xiàn)area()方法。
abstract class Shape { double height; double width; Shape(double a, double b) { height = a; width = b; } abstract double area(); } class Rectangle extends Shape{ Rectangle(double a, double b) { super(a, b); } double area() { System.out.println("Inside Area for Rectangle."); return height * width; } } class Triangle extends Shape{ Triangle(double a, double b) { super(a, b); } double area() { System.out.println("Inside Area for Triangle."); return height * width / 2; } } public class Main { public static void main(String args[]) { Rectangle r = new Rectangle(10, 5); Triangle t = new Triangle(10, 8); Shape figref; figref = r; System.out.println("Area is " + figref.area()); figref = t; System.out.println("Area is " + figref.area()); } }
輸出:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: