黑马程序员技术交流社区
标题:
static内部类的问题
[打印本页]
作者:
蔡兆军
时间:
2012-11-24 16:09
标题:
static内部类的问题
class Outer
{
private static int x = 3;
static class Inner//静态内部类
{
static void function()
{
System.out.println("innner :"+x);
}
}
static class Inner2
{
void show()
{
System.out.println("inner2 show");
}
}
public static void method()
{
Inner.function();
new Inner2().show();//Inner2 是静态类,静态类不能被new,但是这行先new了一个Inner2在调用show。
}
}
作者:
梁枝武
时间:
2012-11-24 16:29
外部类访问静态内部类的静态方法可以直接用内部类名调用
外部类要调用静态内部类的非静态方法必须创建内部类对象
作者:
李光耀
时间:
2012-11-24 17:57
你想错了。静态类是可以被实例化的,也就是可以被new (接口和抽象类才不可以被new)。
外部类和外部类以外的想要调用静态内部类中的非静态成员,就需要把静态内部类实例化才可以。
正确求表扬~~{:soso_e200:}
错误求改正~~
作者:
mickle_deng1
时间:
2012-11-24 22:36
1、静态类可以被实例化
2、类中的非静态成员,需要对象才能访问,所以要new 一个对象。所以调用非静态成员show() 只能用 new Inner2().show();
3、对于静态成员,则可以直接调用。
作者:
蔡兆军
时间:
2012-11-24 22:59
明白了!{:soso_e104:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2