1、什么是内部类
内部类:在类的内部定义一个新的类,被称为内部类
2、内部类的分类:
静态内部类: 类似于静态变量 static class
实例内部类:类似于实例变量 没有static的class
局部内部类:类似于局部变量 在方法中的内部类
3
//使用内部类,表示这个Computation 这个类没有名字
//这里表面看上去是接口可以直接new了,实际上{}代表了对接口的实现
//不建议使用匿名内部类,因为代码太乱而且没有办法重复使
class NTest{
static class Inner1{
}
class Inner2{
}
public void doSome(){
class Inner{
}
}
public void doOther(){
}
public static void main(String[] args){
MyMath mm=new MyMath();
//使用内部类,表示这个Computation 这个类没有名字
//这里表面看上去是接口可以直接new了,实际上{}代表了对接口的实现
//不建议使用匿名内部类,因为代码太乱而且没有办法重复使用,可读性太差
mm.mySum(new Compute(){
public int sum(int a,int b){
return a+b;
}
},100,200);
}
}
interface Compute{
int sum(int a,int b);
}
/*
class Computation implements Compute{
public int sum(int a,int b){
return a+b;
}
}
*/
class MyMath{
public void mySum(Compute c,int x,int y){
int retValue=c.sum(x,y);
System.out.println(x+"+"+y+"="+retValue);
}
}