抽象類、介面、內部類
阿新 • • 發佈:2021-09-22
抽象類,介面,內部類
抽象類 、抽象方法
public abstract class Action{
public abstract viod run();
public abstract void sayHello(){
System.out.println("你好");
}
}
1.抽象方法可以不用寫出具體實現,抽象方法只能存在於抽象類中
2.抽象類不能用new關鍵字例項化,只能有子類區實現
3.抽象類可以有具體的方法
public A extends Action{ @override public void run(){ System.out.println("跑步"); } }
4.抽象方法必須由子類重寫
介面interface
介面只有規範,定義的是一組規則(你是...你必須...)
介面的本質是契約
介面定義
public interface UserService{
void run(String name);//public abstract void run();介面中預設是public abstract
}
介面的實現
public class user implements UserServier{ @override void run(String name){ System.out.println("跑步"); } }
小總結
1.介面就是一種約束,你能幹什麼被介面中的抽象方法定義
2.介面中的抽象方法預設關鍵字是public abstract
3.介面中常量預設public static final (基本不會在介面內定義常量)
4.介面不能被new關鍵字例項化(和抽象類一樣)
5.implements可以實現多個介面
public interface userService{}
public interface timeService{}
public class user implements userServier,timeServier{}//格式
6.實現介面後必須要重寫介面內的抽象方法
內部類
1.成員內部類(定義在類的內部)
public class out{
class in{
out A = new out();
out.in B = A.new in();//內部類的例項化藉由外部類
}
}
1.內部類的例項化藉助外部類來例項化。
2.內部類可以獲取外部類的私有屬性
2.靜態內部類(關鍵字static修飾)
public class out{
static class in{}
}
3.區域性內部類(方法內)
4.匿名內部類
public class test{
public static viod main(String args[]){
new Apple.eat();//沒有名字初始化類,匿名內部類
}
}
class Apple{
public void eat(){
System.out.println("吃蘋果");
}
}