黑马程序员技术交流社区
标题:
关于调用内部类方法
[打印本页]
作者:
石头135
时间:
2013-5-16 19:56
标题:
关于调用内部类方法
class Outer
{
class Inner
{
public void show()
{
System.out.println("show ");
}
}
Inner i= new Inner();
i.show();
}
class Demo2
{
public static void main(String[] args)
{
Outer o=new Outer();
}
}
为什么Inner i= new Inner();可以执行,i.show(); 这个语句会报错,,两个语句可以一起看成类的显示初始化吗?new Outer();时Outer类初始化,Inner i= new Inner();执行,i.show();执行,思想是错在那里?望指导!
作者:
葛晓红
时间:
2013-5-16 20:23
class Outer
{
class Inner
{
public void show()
{
System.out.println("show ");
}
}
//Inner i= new Inner();
//i.show();
}
class Demo2
{
public static void main(String[] args)
{
Outer.Inner o=new Outer().new Inner();
o.show();
}
}
当内部类定义在外部类的成员位置时,需要在外部其他类中建立内部类对象来访问内部类。格式是:Outer.Inner 变量名=new Outer().new Inner();
作者:
张甲甲
时间:
2013-5-16 20:25
i.show()是方法调用啊 你应该写到一个方法体内 亲。。。。。
作者:
xiewen
时间:
2013-5-27 19:16
i.show();要写在方法体内
作者:
袁梦希
时间:
2013-5-29 17:13
如果问题已经解决,请把帖子的类型改为已经解决,如果不会解决请看我的个性签名。
作者:
张林敏
时间:
2013-5-30 13:06
看的好像的、有点别扭,调用方法应该是在方法内进行调用,没有在类中进行调用的
作者:
冒烟的芒果
时间:
2013-7-17 10:28
LZ这个思想错得有点离谱,首先,类的构成:属性和方法;
作者:
冒烟的芒果
时间:
2013-7-17 10:30
本帖最后由 冒烟的芒果 于 2013-7-17 10:39 编辑
冒烟的芒果 发表于 2013-7-17 10:28
LZ这个思想错得有点离谱,首先,类的构成:属性和方法;
不知道LZ在Outer类中 写“ Inner i = Inner()” 和"i.show()"是什么心态; 然后,在主函数中创建一个对象,只会调用这个类的构造函数,并不会调用其他方法
解决办法:可以把Inner i = Inner();i.show();这两句写进Outer类的构造函数中
class Outer
{
class Inner
{
public void show()
{
System.out.println("show ");
}
}
//构造函数
public Outer(){
Inner i= new Inner();
i.show();
}
}
class Test
{
public static void main(String[] args)
{
Outer o=new Outer();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2