黑马程序员技术交流社区
标题:
两个内部类的问题
[打印本页]
作者:
陈泽鑫
时间:
2012-12-9 20:59
标题:
两个内部类的问题
本帖最后由 陈泽鑫 于 2012-12-10 12:17 编辑
public class Outer {
Outer(int x,String y){}
// 问题一:
class inner1{
inner1(int x,String y){
super();
// super(x,y);// 为什么内部类不能调用外部类有参构造方法
}
}
// 问题二:
// interface class inner2{// 为什么内部类可以是抽象类但不能定义为接口类
abstract class inner2{
}
}
作者:
但汉涛
时间:
2012-12-9 22:02
interface class inner2?
接口类?关键字 interface class不能并存吧。
super(x,y);// 为什么内部类不能调用外部类有参构造方法
内部类可以调用有参数构造方法。
super(x,y)真没有见过这么用的。
还有内部类之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this
super是子类访问父类。
作者:
xjandrew
时间:
2012-12-9 22:12
public class Outer
{
Outer(int x,String y){}
class inner1
{
inner1(int x,String y)
{
new Outer(2,"3");//外部构造方法只能new,不能直接调用
//super();
//super(3,"4");// 为什么内部类不能调用外部类有参构造方法/答:super()用来调用父类方法,
而该内部类的父类为Object.
当然Object类中并没有有参构造方法
}
}
interface inner2
{
// 为什么内部类可以是抽象类但不能定义为接口类
//内部类可以是接口,我定义的inner2、 inner3都没报错,恐怕是你书写格式错了
}
abstract class inner3
{
}
}
作者:
xjandrew
时间:
2012-12-9 23:31
他、他、他……
我又晚了一步
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2