黑马程序员技术交流社区
标题:
报错提示:限定新的新静态类(代码见正文)
[打印本页]
作者:
会说话的木头
时间:
2014-4-1 11:23
标题:
报错提示:限定新的新静态类(代码见正文)
class OutClass
{
static class InnerClass
{
String s1 = "这是内部类的实例属性";
InnerClass()
{
System.out.println("创建内部类对象!");
}
void innerTest()
{
System.out.println("这是内部类的test方法!");
}
}
void accessInner()
{
System.out.println(new InnerClass().s1);
}
}
class InnerClassAccess
{
public static void main(String[] args){
OutClass oc = new OutClass();
oc.new InnerClass().innerTest();
}
}
复制代码
作者:
yanzhendong
时间:
2014-4-1 11:51
因为静态内部类不依赖于外部类,其并没有外部类的引用,因此不能通过外部类引用的方式来能new内部类的对象,可以直接new内部类对象,就像这样:outclass.innerclass in=new outclass.innerclass()
作者:
ehuashao
时间:
2014-4-1 11:53
class InnerClassAccess
{
public static void main(String[] args){
OutClass oc = new OutClass();
new OutClass.InnerClass().innerTest();
}
}
复制代码
因为静态嵌套类和其他静态方法一样只能访问其它静态的成员,而不能访问实例成员。因此静态嵌套类和外部类(封装类)之间的联系就很少了,他们之间可能也就是命名空间上的一些关联。上面例子中你需要注意的就是静态嵌套类的声明方法 new OutClass.InnerClass().innerTest();连续写了两个类名。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2