您的位置:首页 > 编程语言 > Java开发

Java内部类总结

2016-03-02 15:52 375 查看

一、成员内部类

public class Out{
class In{
void show(){
System.out.println("InnerClass");
}
}
}


使用:

public class InnerClass{
public static void main(String[] args) {
Out out = new Out();
In in = out.new In();
in.show();
}
}


注意:外部类的访问权限只能是public和default,内部类的访问权限可以是public、protected、default、private中的任何一种,访问权限同成员变量。例如:成员内部类如果修饰为default,在其他包中就不能访问。

二、局部内部类

public class Out{

public void get(){
class A{
}
A a = new A();
}
}


局部内部类的作用范围为所处的方法。

注意:局部内部类不能用任何权限修饰符修饰。

三、静态内部类

public class Out{
static class In{
public void show(){
System.out.println("Static inner class");
}
}
}


使用方式:

public class InnerClass{
public static void main(String[] args) {
In in =new Out.In();
in.show();
}
}


注意:静态内部类可以用任何权限修饰符修饰,访问权限同成员变量。

四、匿名内部类

当我们的类需要继承某个类或实现某个接口,并且要创建类的对象时,我们可以使用匿名内部类,省去类的声明。

public class InnerClass{
public static void main(String[] args) {
In in = new In() {//匿名内部类
@Override
public void show() {

}
};
}
}

abstract class In{
public abstract void show();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 内部类