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();
}
}
总结
- 匿名内部类可以实现(定义实现类、重写方法、构建实现类对象)合为一步完成。
- 减少了对代码的编写。
- 匿名内部类只能写在方法当中。
联系方式
- QQ :1098223889
- 邮箱:1098223889@qq.com
- Q群 :751618317