java可以在内部类中创建该内部类对象么
RT!我知道可以在外部类中创建内部类的对象,匿名类也可以创建对象,但是其他内部类呢?应该是不可以吧,但是为什么呢?谁能说的详细点!!!...
RT!
我知道可以在外部类中创建内部类的对象,匿名类也可以创建对象,但是其他内部类呢?应该是不可以吧,但是为什么呢?谁能说的详细点!!! 展开
我知道可以在外部类中创建内部类的对象,匿名类也可以创建对象,但是其他内部类呢?应该是不可以吧,但是为什么呢?谁能说的详细点!!! 展开
3个回答
展开全部
public class InnerClass {
class A{
A(){
System.out.println("A class");
}
A getInstance() {
System.out.println("return a new A");
return new A();
}
}
public static void main(String[] args)
{
System.out.println("closing class ");
InnerClass innerClass=new InnerClass();
InnerClass.A a=innerClass.new A();
a=a.getInstance();
//如果上面没有创建外部类对象,那么就不能这样
//A a =new A();这是因为在没有创建外部类对象的时候,不能创建内部类对象(这个情况除了嵌套类之外),构建内部类的对象时,需要指向一个外部类对象的引用。
}
}
class A{
A(){
System.out.println("A class");
}
A getInstance() {
System.out.println("return a new A");
return new A();
}
}
public static void main(String[] args)
{
System.out.println("closing class ");
InnerClass innerClass=new InnerClass();
InnerClass.A a=innerClass.new A();
a=a.getInstance();
//如果上面没有创建外部类对象,那么就不能这样
//A a =new A();这是因为在没有创建外部类对象的时候,不能创建内部类对象(这个情况除了嵌套类之外),构建内部类的对象时,需要指向一个外部类对象的引用。
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是可以的了
publicclass hello{
public class Ok{
}
Ok o =new Ok();
}
publicclass hello{
public class Ok{
}
Ok o =new Ok();
}
追问
在外部类声明内部类对象可以,这个我知道,我说的是在内部类中创建该内部类的对象,这个好像是不可以的,但是为什么呢??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询