愛轉圈筆記
勤思、體悟、總結、分享
抽象類&接口
抽象類
什麼是抽象類
抽象類使用abstract修飾,不能被實例化,只能用來繼承;其內方法可以既聲明又實現,也可以只聲明不實現。
抽象類的意義
將方法的設計和實現分離。
什麼是抽象方法
抽象方法使用abstract修飾,只聲明不實現。抽象方法必須被繼承的子類實現。例如 public abstract void run();
/**
* 抽象類
* @author 愛轉圈
*/
public abstract class Test1 {
//聲明抽象方法
public abstract void eat();
//聲明非抽象方法
public void sleep(){
System.out.println("sleep");
}
}
/**
* 繼承抽象類
* @author 愛轉圈
*/
public class Children extends Test1 {
//實現了抽象類中的eat方法
@Override
public void eat() {
System.out.println("eat");
}
}
接口
接口——JAVA實現多繼承的方式
接口是一組規範,定義了規則,表示一種能力,子類實現時相當於獲取這種能力
- 聲明接口(Interface)
- 子類實現接口(implements)
接口的特性
只有常量和抽象方法
不能被實例化
實現了接口的類,必須實現該接口的所有方法
/**
* 測試接口
* @author 愛轉圈
*/
public interface Test2 {
//聲明公開抽象方法
//默認使用public abstract修飾
void run();
}
/**
* 繼承抽象類和實現接口的類
* @author 愛轉圈
*/
public class Children extends Test1 implements Test2{
//實現了抽象類中的eat方法
@Override
public void eat() {
System.out.println("eat");
}
//實現了接口中的run方法
@Override
public void run() {
System.out.println("run");
}
}