首頁 > Java > java教程 > Java中的單繼承

Java中的單繼承

WBOY
發布: 2024-08-30 15:25:43
原創
1208 人瀏覽過

單一繼承可以定義為衍生類,從超類別繼承基本方法(資料成員和變數)和行為。這是這裡存在的一個基本的關係概念。 Java 只使用單一繼承作為子類,無法擴展更多的超類別。

廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗

繼承是物件導向程式設計的基本屬性。繼承傾向於在另一個物件中使用一個類別物件的屬性。 Java 使用繼承實作程式碼可重複使用性,透過增強可靠性和實現運行時多態性來減少時間。由於程式碼被重複使用,因此可以減少開發成本和維護成本。 Java有不同類型的繼承,即單繼承、多層繼承、多重繼承和混合繼承。本文將透過一個程式範例簡要介紹java中單繼承概念的基本理解。這裡我們將有一個完整的java實作。

文法:

下面給了一般語法。繼承概念使用關鍵字「extend」來繼承特定的類別。在這裡您將學習如何使用擴充關鍵字來衍生類別。在類別名稱之後,我們聲明一個擴充關鍵字,後面跟著另一個類別名稱。

代碼:

class base class
{…. methods
}
class derived class name extends base class
{
methods … along with this additional feature
}
登入後複製

Java 使用關鍵字「extends」從現有類別衍生出一個新類別。我們將繼承的類別稱為基底類別或超類,將新建立的類別稱為衍生類別或子類別。基底類別提供資料成員和方法,而子類別繼承這些方法。

Java 中單繼承如何運作?

單繼承指定了子類別和父類別擴展時的關係以及所有方法中最簡單的類型,例如梨子和蘋果繼承自fruits。在繼承機制中,物件以自上而下的方式處理。之前我們學習了文法及其聲明。有必要了解存取說明符的概念,即私有、公有和受保護。該類別只有在聲明為私有後才能存取所有資料成員。公眾可以訪問任何班級。保護是用同一個封裝完成的;這也僅適用於透過繼承。

代碼:

class fruits
{private int f;
int g;
private void mmm ()
{
System.out.println(“….”);
}
}
class M extends fruits
{void method ();
………
}}
class Main
{
public static void main (String [] args)
{
M ob= new M ();
Ob.f=3;   // here the variable cannot be accessed
Ob.mmm();
}
登入後複製

上述程式碼說明:在上面的範例程式碼中,語句ob.=3,子類別無法存取基底類別的私有成員,因此無法對其進行賦值。因此,它會拋出找不到符號的錯誤(編譯時錯誤)。要使用它,必須使父類別的資料成員具有公共性。

使用受保護

在下面的範例中,我們在超類別中聲明了 protected,子類別可以直接存取。

代碼:

class pgm
{
protected int I,k;
method ( int m,int n)
{
…
}
class  R extends pgm
{ private  int f;
// methods
}
public class protected Main
{
public static void main()
{
// methods and objects access
}
登入後複製

單一繼承的流程圖如下:

Java中的單繼承

Y 類別繼承 X 類,僅擴充一個類別。

Java 中實作單繼承的範例

本節將看到單繼承的實現,其中子類別使用擴展關鍵字引用父類別屬性和行為。

注意:我在所有這些範例中都使用 Main 作為類別名稱。執行時需要將檔案名稱儲存為Main.java。

範例#1

使用單繼承和物件類別計算員工的薪資。

代碼:

class Employee
{
float sal=60000;
}
class Main extends Employee
{
float b=1500;
float temp= sal + b;
public static void main(String args[])
{
Main ob=new Main();
System.out.println("Salary amount is:"+ob.sal);
System.out.println(" Extra Bonous is:"+ob.temp);
}
}
登入後複製

輸出:

Java中的單繼承

範例#2

使用求和、減法和除乘方法實現計算器。

代碼:

class Calc{
int sum(int i , int j)
{
return i+j;
}
int subract(int i , int j)
{
return i-j;
}
}
public class Main extends Calc {
int mul(int xx , int yy)
{
return xx*yy;
}
int divide(int xx , int yy)
{
return xx/yy;
}
public static void main(String args[]) {
Main c= new Main();
System.out.println(c.sum(2,2));
System.out.println(c.subract(2,6));
System.out.println(c.mul(8,9));
System.out.println(c.divide(2,2));
}
}
登入後複製

輸出:

Java中的單繼承

範例#3

使用單一繼承計算矩形和三角形面積。

代碼:

class Rectdemo
{
int le,be;
void Sval(int a,int b)
{
le=a;
be=b;
}
int GetR()
{
return le*be;
}
}
class Tri extends Rectdemo
{
int b,h;
float t;
void Sdata(int q,int r)
{
b=r;
h=q;
}
float GetT()
{
t=(float)le/2*b*h;
return (t);
}
}
class Main
{
public static void main(String args[])
{
Tri Tr=new Tri();
Tr.Sval(40,8);
Tr.Sdata(10,6);
System.out.println("Area of Rectangle is calculated as :" +Tr.GetR());
System.out.println("Area of Triangle is calculated As :"+Tr.GetT());
}
}
登入後複製

輸出:

Java中的單繼承

範例#4

在單一繼承中使用 Super 關鍵字。 Super 關鍵字引用物件的父類別並充當其建構子。

代碼:

class Library
{
String lname;
public Library(String m)
{
lname = m;
}
}
public class Main extends Library {
String lname;
public Main(String x1, String x2)
{
super(x1);       //passing argument to parent class constructor
this.lname = x2;
}
public void display()
{
System.out.println(super.lname+" and "+lname);
}
public static void main(String[] args)
{
Main c = new Main("library name","library id");
c.display();
}
}
登入後複製

輸出:

Java中的單繼承

範例#5

子類別使用繼承呼叫的 Over Ridden 方法。

代碼:

class even {
void display()
{
System.out.println(" Even Nos,4 2");
}
}
class odd extends even {
void display()
{
super.display();
System.out.println(" Odd Nos ,1 3");
}
}
class Main {
public static void main(String[] args)
{
even e = new odd();
e.display();
}
}
登入後複製

輸出:

Java中的單繼承

結論

因此,到最後,本文將指導各種繼承概念以及如何使用 java 中可用的單一繼承。您還將了解使用擴展關鍵字的工作實作。我希望這篇文章內容豐富,能為初學者增加知識。

以上是Java中的單繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板