请教一下关于JAVA的问题,为什么在主函数里和在类的实例方法中都可以创建实例对象,这两种有什么区别吗?

什么情况下可以在类的实例方法中创建对象之后调用变量,什么时候就得在主函数中创建对象之后调用变量呢?我现在好糊涂啊... 什么情况下可以在类的实例方法中创建对象之后调用变量,什么时候就得在主函数中创建对象之后调用变量呢?我现在好糊涂啊 展开
 我来答
zhaozhekang110
2011-04-18 · TA获得超过1841个赞
知道小有建树答主
回答量:671
采纳率:0%
帮助的人:860万
展开全部
不用纠结这个,在哪里都可以创建实例对象,只要你这个方法里用得上这个实例对象就可以创建,这有什么好纠结的呢?一句话概括就是:在任何有需要的地方都可以创建。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kehengqun
2011-04-18 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:94.3万
展开全部
任何地方都可以创建变量,但是要注意作用域。主函数属于静态函数,不能调用其外的非静态变量,静态函数调用只能从参数、外部静态变量、内部定义几种方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户67853
2011-04-18 · TA获得超过308个赞
知道答主
回答量:308
采纳率:0%
帮助的人:242万
展开全部
些封装,这个是没有任何问题的
你错在没有实例自身,你虽然实例化了class Inner,但你并没有实例化class Outer
所以Outer的私有变量i事实上是不存在的,这个时候你调用输出函数打印i自然是不行的
其实不用这么复杂,简化一点看你马上就明白了
-----------------------------------------------------------------------------------------------------------
public class Outer { //这个就是ok的
public int i = 10;
public static void makeInner(){
Outer out = new Outer();
System.out.print(out.i);
}
}

public class Outer { //这个就是错误的,因为没实例化本身,所以i不存在
public int i = 10;
public static void makeInner(){
System.out.print(i);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yu121297290
2011-04-18 · TA获得超过251个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:110万
展开全部
实例方法?我没听过有这个方法,是构造方法还是自定义方法,能拿个可以表达你意思的代码才能知道你是什么情况的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniapp16e43ddfde28
2011-04-18 · TA获得超过639个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:523万
展开全部
是你需要这个对象的时候才创建该对象的
当然如果是静态的类是不用创建的 因为它已经被创建好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式