内部类
内部类的特性
内部类作为外部类的成员,可以声明为final
public class A{
int i;
final class B{
}
}
内部类可以声明为private或者protected;
public class A{
int i;
private class B{
}
}
内部类可以声明为static,但是此时就不能再使用外部类的非static的成员变量。
public class A{
int i;
static class B{
//不能使用外部类的非static的成员
}
}
非static的内部类中的成员不能声明为static的,只有在外部类或者static的内部类中才可以声明static成员;
外部类要用自己的内部类的方法,就必须先new一个内部类的对象
内部类的作用
内部类主要是解决java不能多重继承的问题
/**
*
*现在类A想要同时获得类B和
*类c的方法,并且重写;
*
*/
public class A{
public void testB(){
new InnerB().testB();
}
public void testC(){
new InnerC().testC();
}
private class InnerB extends B{
@Override
public void testB(){}
}
private class InnerC extends C{
@Override
public void testC(){}
}
class B{
public void testB(){
}
}
class C{
public void testc(){
}
}
}