Java中有關抽象類的基礎學習
1.抽象類: 不能手動創建對象(JVM可以創建抽象類的對象),但是可以聲明抽象類型的引用。
public class TestAbstract1{ Animal a=null; |
2.抽象方法:有方法名的定義,沒有實現,(只定義了能做什么,沒定義怎么做)
抽象方法的好處是允許方法的定義和實現分開。
abstract class Animal{ public abstract void eat(); } |
抽象類和抽象方法的關系:含有抽象方法的類一定是抽象類,抽象類里不一定含有抽象方法
抽象類存在的意義是用來被繼承的。一個類繼承了一個抽象類,必須實現抽象類里面所有的抽象方法,否則,此類也是抽象類。
abstract class Animal{ public void run(){} public abstract void sleep(); public abstract void eat(); } class Dog extends Animal{ public void sleep(){ System.out.println("Dog sleep."); } public void eat(){ System.out.println("Dog eat."); } } abstract class Cat extends Animal{ public void eat(){ System.out.println("Cat eat."); } } |
public class TestAbstract1{ public static void main(String[] args){ Animal a=null; a=new Dog(); a.sleep(); a.eat(); } } |
class E{} abstract class Animal extends E{ public Animal(){ super(); } } |
3.多種修飾符的連用問題:
public protected default private static final abstract
可以連用:
public static
private static
public final
public static final
不可以連用:abstract final void eat();
private abstract void eat();
static abstract void eat();
abstract不能和final,private,static連用
【編輯推薦】