请教一下关于JAVA的问题,为什么在主函数里和在类的实例方法中都可以创建实例对象,这两种有什么区别吗?
什么情况下可以在类的实例方法中创建对象之后调用变量,什么时候就得在主函数中创建对象之后调用变量呢?我现在好糊涂啊...
什么情况下可以在类的实例方法中创建对象之后调用变量,什么时候就得在主函数中创建对象之后调用变量呢?我现在好糊涂啊
展开
6个回答
展开全部
不用纠结这个,在哪里都可以创建实例对象,只要你这个方法里用得上这个实例对象就可以创建,这有什么好纠结的呢?一句话概括就是:在任何有需要的地方都可以创建。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
任何地方都可以创建变量,但是要注意作用域。主函数属于静态函数,不能调用其外的非静态变量,静态函数调用只能从参数、外部静态变量、内部定义几种方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
些封装,这个是没有任何问题的
你错在没有实例自身,你虽然实例化了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);
}
}
你错在没有实例自身,你虽然实例化了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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实例方法?我没听过有这个方法,是构造方法还是自定义方法,能拿个可以表达你意思的代码才能知道你是什么情况的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是你需要这个对象的时候才创建该对象的
当然如果是静态的类是不用创建的 因为它已经被创建好了
当然如果是静态的类是不用创建的 因为它已经被创建好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询