java抽象类 抽象方法_Java基础 -- Java 抽象类 抽象方法
總結:
1. 抽象類不能被實例化(初學者很容易犯的錯),如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創建對象。
2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。
3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。
4. 構造方法,類方法(用 static 修飾的方法)不能聲明為抽象方法。
5. 抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。
詳細解釋:
>1. 抽象類不能被實例化(初學者很容易犯的錯),如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創建對象。
但是抽象類可以有構造函數,用來當子類調用super()...
public abstract classEmployee
{privateString name;privateString address;private intnumber;public Employee(String name, String address, intnumber)
{
System.out.println("Constructing an Employee");this.name =name;this.address =address;this.number =number;
}
}//---------------------------------
public class Salary extendsEmployee
{private double salary; //Annual salary
public Salary(String name, String address, int number, doublesalary)
{super(name, address, number);
setSalary(salary);
}
}
>4. 構造方法,類方法(用 static 修飾的方法)不能聲明為抽象方法。
重點常考!:final和abstract,private和abstract,static和abstract,這些是不能放在一起的修飾符,因為abstract修飾的方法是必須在其子類中實現(覆蓋),才能以多態方式調用,以上修飾符在修飾方法時期子類都覆蓋不了這個方法,final是不可以覆蓋,private是不能夠繼承到子類,所以也就不能覆蓋,static是可以覆蓋的,但是在調用時會調用編譯時類型的方法,因為調用的是父類的方法,而父類的方法又是抽象的方法,又不能夠調用,所以上的修飾符不能放在一起。
---------------------
作者:踏一回月
來源:CSDN
原文:https://blog.csdn.net/qq_40302611/article/details/80426381
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的java抽象类 抽象方法_Java基础 -- Java 抽象类 抽象方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 主键 uniqo_优衣库某处
- 下一篇: java美元兑换,(Java实现) 美元