JAVA 中的匿名內部類詳解
- 我們都知道匿名內部類的作用是減少代碼的編寫量,下面我們分別舉兩個例子作爲項目對比。
不使用內部類的情況
public interface ISmoking{
void smoking();
}
public class Smoke implements ISmoking{
@Override
public void smoking() {
System.out.println("smoking....");
}
}
public class Test{
public static void main(String[] args) {
ISmoking sm=new Smok();
sm.smoking();
}
}
使用內部類的情況
public interface ISmoking{
void smoking();
}
public class InnerClass{
public static void main(String[] args) {
new Smoking(){
@Override
public void smoking() {
System.out.println("smoking....");
}
}.smoking();
}
}
public interface ISmoking{
void smoking();
void fell();
}
public class InnerClass{
public static void main(String[] args) {
Smoking smok=new Smoking(){
@Override
public void smoking() {
System.out.println("smoking....");
}
@Override
public void fell() {
System.out.println("fell....");
}
};
smok.smoking();
smok.fell();
}
}
總結
- 匿名內部類可以實現(定義實現類、重寫方法、構建實現類對象)合爲一步完成。
- 減少了對代碼的編寫。
- 匿名內部類只能寫在方法當中。
聯繫方式