2个问题,1个关于构造器,另1个关于内部类
(1).class Z {}
class A extends Z
{ void A() {} }
这段代码里编译器为什么给A提供1个默认的构造器?构造器没有返回值,用void修饰不应该编译错误吗?
(2). Given:
1. public class Outer{
2. public void someOuterMethod() {
3. // Line 3
4. }
5. public class Inner{}
6. public static void main( String[]argv ) {
7. Outer o = new Outer();
8. // Line 8 9. }
10. } Which instantiates an instance of Inner?
A. new Inner(); // At line 3
B. new Inner(); // At line 8
C. new o.Inner(); // At line 8
D. new Outer.Inner(); // At line
这道题为什么选A?B为什么不对?
另外在1个类的内部任何位置都可以声明这个类自己的对象吗?
------解决方案--------------------(1)那是方法不是构造器。
(2)放到内部类中会提示没有对应封装实例,在主类中没有问题,相当于创建内部类的实例吧。