java中的抽象方法_Java中的抽象类和抽象方法
###Java中的抽象方法和抽象類:
abstract:關鍵字,可以用于修飾方法和類
抽象方法:不同類的方法是相似的,但是具體實現的內容又不太一樣,沒有具體的方法體。
抽象類:有抽象方法的類必須是抽象類
類與抽象類的關系是繼承關系,但是需要重寫抽象類的所有抽象方法,非抽象方法可以不用重寫,
否則這個類就一定是抽象類,抽象類可以繼承抽象類,也可以不用重寫抽象方法。
package 抽象類;
public class Abstract {
public static void main(String[] args) {
cat cat=new cat();
cat.eat();
dog dog=new dog();
dog.eat();
}
}
abstract class Animal{
public abstract void eat();
}
class cat extends Animal{
@Override
public void eat() {
System.out.println("貓吃魚啊");
}
}
class dog extends Animal{
@Override
public void eat() {
System.out.println("狗吃肉啊");
}
}
抽象類的特點:
抽象方法只能在抽象類里面,抽象類里面可以有其他非抽象方法
抽象方法和抽象類必須被abstract修飾
抽象類不能創建對象(不能實例化)
抽象類和類的關系也是繼承
一個類繼承了抽象類要么重寫所有的抽象方法,要么他自己是抽象類
抽象類的成員特點:
抽象類的成員特點:
成員變量:
可以有成員變量
可以有常量
成員方法:
必須能有抽象方法
也可以有非抽象方法
構造方法:
可以有構造方法,需要對抽象類的成員變量進行初始化
幾個問題:
抽象關鍵字abstract不可以和哪些關鍵字共存?
private和final不可以與abstract共存,因為被final修飾的方法不可以被重寫,而且被final修飾的類不能被繼承;方法被private修飾為私有時,不能被重寫。
抽象類中是否有構造函數?
有,抽象類也有成員變量,也需要被初始化,而且抽象類需要被繼承,被繼承的類需要有構造函數初始化成員變量。
抽象類可不可以沒有抽象方法?
可以。
讓一個類不可以創建對象,有什么方法?
1.用abstract修飾為抽象類。
2.將構造方法私有。
總結
以上是生活随笔為你收集整理的java中的抽象方法_Java中的抽象类和抽象方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webservice 实现与his系统对
- 下一篇: tensorflowgpu利用率为0_直