1.内部类的定义与分类
内部类:在类的内部定义的一个新的类
内部类的分类:
- 静态内部类:类似于静态变量
- 实例内部类:类似于实例变量
- 局部内部类:类似于局部变量
class Test{
static String country
static clsaa Inner1{
}
int age;
class Inner2{
}
public void doSome(){
int i =100;
class Inner3{
}
}
}
2.匿名内部类
匿名内部类为局部内部类的一种,因为没有名字而得名。
学习匿名内部类主要是为了方便阅读别人的代码
匿名内部类的缺点:
- 复杂、乱、可读性查
- 类没有名字,无法重复使用
interface Computer{
int sum(int a,int b);
//抽象方法
}
class ComputerImpl implements Computer{
public int sum(int a,int b){
return a+b;
}
}
class MyMath{
public void mySum(Cumputer c,int x,int y){
int retValue = c.sum(x,y);
System.out.println(x+"+"+y+"="+retValue);
}
}
class InnerTest{
public static void main(String[] args){
MyMath mm = new MyMath();
mm.mySum(new CpmputerImpl(),100,200);//使用接口实现类
mm.mySum(new Computer(){ //使用匿名内部类,表示这个接口实现类没有名字了,接口后的{}代表对接口的实现
public int sum(int a,int b){
return a+b;
}
},100,200);
}
}
传送门
上一章:JavaSE进阶 第四章 Object类
下一章:JavaSE进阶 第六章 数组