鉴于程序中经常会看到类中套类的情况,我们经常在编写程序的时候,不会定义内部类的时候,总会报错,但是还不知道程序错在哪里!!所以,我结合视频,结合网上,总结了一下内部类的常见特点,希望对大家--特别是初学者有帮助,因为我也是从0基础一点点自学的,直到其中的艰辛!因为,是本人自己总结的,肯定有错误之处,希望大家指出,共同进步!!
类的分类
成员类:定义在成员位置上的类
-----分为 非静态成员内部类 静态成员内部类
class Outer
{
class Inner
{
System.out.println(x);
}
public static void main(String[] args)
{
}
}
在这个类中Inner定义在成员位置上,因为内部类带有外部类的引用,所以变量x定在
哪里都可以用
因为定义在成员位置上,所有可以被static 和private修饰
被static修饰的时候,Inner内部变量就必须是静态的 他所要访问的成员变量也就必须是静态的
假如Inner里面有静态成员时候,那么Inner也就必须是静态的
所以,当有判断题说一个类能被static修饰吗??我们的答案就是能,就是当定义在成员位置上的时候!!!
局部内部类
class Outer
{
public static void main(String[] args)
{
final int x;
}
void show()
{
class Inner
{
}
}
}
在这个例子中,Inner是局部类所以就不能被成员修饰符所修饰 static private
Inner想要访问x,此时X就必须被定义成final 才能访问到
匿名内部类
匿名内部类的创建前提条件就是他必须实现一个接口或者类
用接口或者类的名字进行 |