-------
android培训、
java培训、期待与您交流! ----------
内部类定义格式和类相同。
InnerClass和show方法是同样的位置。这种类型的内部类叫做成员内部类。它的规则一如外部类的成员
InnerClass在show方法内部,一如其局部变量,这种类型的内部类叫做局部内部类,这种内部类的权限不能大于方法的权限
外部类名.内部类名 对象名 = new 外部类名.内部类构造方法;
如上例中的情况,调用时的格式如:
接口 对象名 = new 接口(){
要重写的方法
}
例如:
内部类
内部类是一种写在其他类中的类,分为两种,成员内部类、局部内部类。内部类定义格式和类相同。
成员内部类
成员内部类处于其他类中成员位置上,如: class OuterClass {
public void show() {
}
public class InnerClass {
}
}
InnerClass和show方法是同样的位置。这种类型的内部类叫做成员内部类。它的规则一如外部类的成员
局部内部类
class OuterClass {
public void show() {
class InnerClass {
}
}
}
InnerClass在show方法内部,一如其局部变量,这种类型的内部类叫做局部内部类,这种内部类的权限不能大于方法的权限
内部类的使用方法
一般格式:外部类名.内部类名 对象名 = new 外部类名.内部类构造方法;
如上例中的情况,调用时的格式如:
OuterClass.InnerClass cl = new OuterClass().new InnerClass();
匿名内部类
匿名内部类通常没有对象名。常用的定义格式是:接口 对象名 = new 接口(){
要重写的方法
}
例如:
interface Inter {
public abstract void show();
public abstract void show1();
}
class Outer {
public void method() {
Inter i = new Inter() {
//重写接口中的方法
public void show() {
System.out.println("inner...show");
}
public void show1() {
System.out.println("inner...show1");
}
};
i.show();
i.show1();
}
}