标题:[求助]关于内部类的构造器问题
只看楼主
袁小六
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-8-3
 问题点数:0 回复次数:5 
[求助]关于内部类的构造器问题

public class Outer {

class Inner{
public Inner(){
System.out.println("Love");
}
}

public Inner to(){
return new Inner();
}

public static void main (String[] args) {
Outer outer=new Outer();//(1)
Outer.Inner inner=outer.to();
/*Inner ine=new Inner(); 为什么(1)可以,这句就不可以呢? 报错说不能从静态上下文中引用非静 态。。*/

}

}

[此贴子已经被作者于2007-8-3 11:51:49编辑过]

搜索更多相关主题的帖子: 构造器 部类 
2007-08-03 11:49
l3294832
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-7-29
得分:0 

/*Inner ine=new Inner(); 报错说不能从静态上下文中引用非静 态。。*/
可以把你定义的内部类想成基本的数据类型
main方法是静态的
当然不能引用非静态的喽




2007-08-03 13:39
袁小六
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-8-3
得分:0 
回复:(l3294832)/*Inner ine=new Inner(); 报错说不...

那为什么B就可以C就不行? 不是说内部类和普通类一样用么?

class B{
public B(){
System.out.println("123");
}
}

public class A {

class c{
public c(){
System.out.println("456");
}
}

public static void main (String[] args) {
B b=new B();
//C c=new C();这个不行
}
}


這個丗堺還钚夠瘋誑~~~
2007-08-03 14:08
justing_xxt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2005-3-9
得分:0 

Inner inner = outer.new Inner();

2007-08-03 14:10
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
得分:0 
内部类和其他类成员一样,是外部类的成员。
你的内部类不是静态的,main函数是静态的,所以它不能访问非静态的内部类。这和main()不能访问普通非静态类成员一样。
2007-08-03 15:29
袁小六
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-8-3
得分:0 
回复:(huwangvs)内部类和其他类成员一样,是外部类...

明白了 书上讲到了 LS正解 谢谢各位 问题已解决

结贴~~~~~~~~~


這個丗堺還钚夠瘋誑~~~
2007-08-03 15:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-160098-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.222191 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved