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

Java 内部类(成员内部类等)初探

2017-09-25 18:20 253 查看

分类:

成员内部类、

局部内部类、

静态内部类、

匿名内部类。

定义:

内部类是指在一个外部类的内部再定义一个类。

内部类作为外部类的一个成员,并且依附于外部类而存在的。

内部类可为静态,可用 PROTECTED 和 PRIVATE 修饰。(而外部类不可以 :用 外部类只能使用 PUBLIC 和DEFAULT)。

注:所有使用内部类的地方都可以不用内部类 ,使用内部类可以使程序更加的简洁 ,便于命名规范和划分层次结构。

class OutClass {

//定义一个接口,在匿名内部类使用。
interface Interface1 {
public void Show();
}

// 成员内部类
class InnerClass1 {
public void innerclass1_method() {
System.out.println("this is 成员内部类 ");
}
}

public void Method1() {
// 局部内部类
class InnerClass2 {
public void innerclass2_method() {
System.out.println("this is 局部内部类  ");
}
}
InnerClass2 innerClass2=new InnerClass2();
innerClass2.innerclass2_method();
}

// 静态内部类
public static class InnerClass3 {

public void innerclass3_method() {
System.out.println("this is 静态内部类 ");
}
}

// 匿名内部类
public void Mehtod2(Interface1 inter) {

}

}

public class Classes {

public static void main(String[] args) {

//定义一个外部类对象
OutClass outclass=new OutClass();
//成员内部类
OutClass.InnerClass1 in1 = new OutClass().new InnerClass1();
in1.innerclass1_method();
//局部内部类
outclass.Method1();
//静态内部类
OutClass.InnerClass3 in3= new OutClass.InnerClass3();
in3.innerclass3_method();
//匿名内部类
OutClass.Interface1 in4=new OutClass.Interface1() {

@Override
public void Show() {
System.out.println("this is 匿名内部类");
}
};
in4.Show();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 内部类
相关文章推荐