java class 内部类_Java内部类(Inner Class)

简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。

1 Static member class(静态成员类)

类声明中包含“static”关键字的内部类。如以下示例代码,

Inner1/Inner2/Inner3/Inner4就是Outer的四个静态成员类。静态成员类的使用方式与一般顶层类的使用方式基本相同。

public class Outer{

//just like static method, static member class has public/private/default access privilege levels

//access privilege level: public

public static class Inner1 {

public Inner1() {

//Static member inner class can access static method of outer class

staticMethod();

//Compile error: static member inner class can not access instance method of outer class

//instanceMethod();

}

}

//access privilege level: default

static class Inner2 {

}

//access privilege level: private

private static class Inner3 {

//define a nested inner class in another inner class

public static class Inner4 {

}

}

private static void staticMethod() {

//cannot define an inner class in a method

/*public static class Inner4() {

}*/

}

private void instanceMethod() {

//private static member class can be accessed only in its outer class definition scope

Inner3 inner3 = new Inner3();

//how to use nested inner class

Inner3.Inner4 inner4 = new Inner3.Inner4();

}

}

class Test {

Outer.Inner1 inner1 = new Outer.Inner1();

//Test and Outer are in the same package, so Inner2 can be accessed here

Outer.Inner2 inner2 = new Outer.Inner2();

//Compile error: Inner3 cannot be accessed here

//Outer.Inner3 inner3 = new Outer.Inner3();

}

1.1 静态成员类特性

静态成员类可访问外部类的任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值