标签:
1、可将内部类看成是外部类的Field,所用的修饰符和含义与Field相同(Field所用的修饰符和方法所用的一样),还可以用final,static,abstract
2、在外部类中生成内部类
class Outer{
class Inner{
}
}
class Test{
public void main(String[] args){
Outer o=new Outer();
Outer.Inner i=o.new Inner();
}
}
3、在内部类中访问外部类的Field的方法:OuterClassName.this.FieldName
4、在方法中定义的内部类要访问方法中的局部变量,这些变量必须声明为final
5、非static内部类不能声明static方法
6、对内部类的继承:
class Car{
class Wheel{
}
}
class PlaneWheel extends Car.Wheel{
//此构造函数是必须的,用来建立内部类与外部类的引用关系
PlaneWheel(Car car){
car.super();
}
public static void main(String[] args){
Car car=new Car();
PlaneWheel pw=new PlaneWheel(car);
}
}
7、利用匿名内部类实现接口
interface Animal{
void eat();
void run();
}
public class Zoo{
public Animal getAnimal(){
return new Animal(){
public void eat(){
}
public void run(){
}
};// “;”不能少
}
}
标签:
原文地址:http://www.cnblogs.com/littlebugfish/p/4321713.html