1. 程式人生 > 其它 >抽象類、介面、內部類

抽象類、介面、內部類

抽象類,介面,內部類

抽象類 、抽象方法

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("吃蘋果");
    }
}