1.抽象類不能直接new出來。
2.抽象類可以沒有抽象方法。
public abstract class USB { //抽象類 //兩個抽象方法,抽象類中也可以不寫抽象方法 public abstract void qidong(); public abstract void tingzhi();//抽象方法不用寫{} }
3.抽象類中,可以有抽象方法,也可以有非抽象方法。抽象類中還可以有成員變量。
4.派生類中,可以不實現某些抽象方法,但派生類必須要聲明為抽象類。
public abstract class Shubiao extends USB{ public void qidong(){ System.out.println("鼠標運行"); } //父類的tingzhi()的方法沒重寫 ,子類也要改成abstract抽象的。 }
1.抽象方法沒有函數體。
2.有抽象方法的類必須是抽象類。
1.找找有沒有它的派生類,用它的派生類。
2.自己寫一個類,派生自這個抽象類。
package com.itnba.may.Demo1229; public abstract class USB { //抽象類 //兩個抽象方法 public abstract void qidong(); public abstract void tingzhi(); }
可以理解為一種特殊的抽象類。裡面只有常量和抽象方法(不需要寫abstract)。
接口可以多實現(繼承),抽象類只能是單位繼承。
interface 接口名 [extends 父接口列表]{
final 類型 常量名=值;
public void 方法名(形參);
}
public interface USB { //定義一個接口 public void qidong(); public void tingzhi(); }
[abstract] class 類名 extends 父類 implements 接口名,接口名,....{
}
public class Shubiao implements USB{ @Override public void qidong(){ System.out.println("鼠標運行"); } @Override public void tingzhi() { System.out.println("鼠標拔出了"); } //如果有接口的方法沒重寫 ,類要改成abstract抽象的。 }
1.接口盡量的小,功能太復雜的。——接口分離原則。
2.接口定義的時候,接口名子,盡量是形容詞,或者是描述性質的詞。
1.final修飾類:此類不能被繼承。
2.final修飾成員變量:可以當常量來用。
3.final修飾方法:不能被子類的方法覆蓋(重寫),但可以被繼承。