1. static inner class 等同于顶级类。可以不需要创建Outer class就直接使用。
所以 b 显然是错的。
2. c 是对的,既然是static嘛,当然没有对enclosing class的引用
3. d错了。静态类只能存取静态成员
4. 正确。
所以 b 显然是错的。
2. c 是对的,既然是static嘛,当然没有对enclosing class的引用
3. d错了。静态类只能存取静态成员
4. 正确。
解决方案 »
- 搞不清楚,真真真
- 关于标准输入system.in如何具体实现的
- 一个多线程的问题
- 请问有没有方法在java类里面动态编译.java文件产生.class文件
- 求助!
- 我想在java程序中 间隔1秒触发一个事件 以实现动画效果 有点类似Delphi的定时器 应该如何实现?
- 到底哪有可编译的java.c
- java中怎样才能把窗口设为居中?怎样设焦点?
- 如何在applet中使用dom解析xml?
- 我不想盲目地学J A V A!
- 请问java应用程序怎样打开网页(在线等待)
- 一个简单的程序,编译可以通过但是,不出现结果,错误提示为无数个at Test.<init>(TestNonStatic.java:8),怎么回事
c d
e错在那?
请问谁有详细讲解内部类的资料,拿出来共享一下,十分感谢!!!
很详细的
理解了this关键字后,我们可更完整地理解static(静态)方法的含义。它意味着一个特定的方法没有this。我们不可从一个static方法内部发出对非static方法的调用(注释②),尽管反过来说是可以的。而且在没有任何对象的前提下,我们可针对类本身发出对一个static方法的调用。事实上,那正是static方法最基本的意义。它就好象我们创建一个全局函数的等价物(在C语言中)。除了全局函数不允许在Java中使用以外,若将一个static方法置入一个类的内部,它就可以访问其他static方法以及static字段。②:有可能发出这类调用的一种情况是我们将一个对象句柄传到static方法内部。随后,通过句柄(此时实际是this),我们可调用非static方法,并访问非static字段。但一般地,如果真的想要这样做,只要制作一个普通的、非static方法即可。有些人抱怨static方法并不是“面向对象”的,因为它们具有全局函数的某些特点;利用static方法,我们不必向对象发送一条消息,因为不存在this。这可能是一个清楚的自变量,若您发现自己使用了大量静态方法,就应重新思考自己的策略。然而,static的概念是非常实用的,许多时候都需要用到它。所以至于它们是否真的“面向对象”,应该留给理论家去讨论。事实上,即使Smalltalk在自己的“类方法”里也有类似于static的东西。
<拷贝>
静态类只是依附于encloing class,和它毫无关系,当然所有encloing class或outer class的
非成员变量都不能用,否则创建若干其它类的实例时,静态类取哪一个呢?(c)
既然静态,无须encloing的实例就可创建。(e);
静态类只是依附于encloing class,和它毫无关系,当然所有encloing class或outer class的
非(静态)成员变量都不能用,否则创建若干其它类的实例时,静态类取哪一个呢?(c)
既然静态,无须encloing的实例就可创建。(e);上面漏了一个静态两字,见笑!
我没说e错啊,我选的是c e