public class JTesta
{
int n=1;
int m=3;
void JTesta()
{
n=2;
m=5;
}
public static void main(String[] args)
{
JTesta jt=new JTesta();
System.out.println("jt.n="+jt.n+"jt.m="+jt.m);
}
}
帮小弟看看这个题是怎么运行的,说说思路好吗?谢谢大家了。
{
int n=1;
int m=3;
void JTesta()
{
n=2;
m=5;
}
public static void main(String[] args)
{
JTesta jt=new JTesta();
System.out.println("jt.n="+jt.n+"jt.m="+jt.m);
}
}
帮小弟看看这个题是怎么运行的,说说思路好吗?谢谢大家了。
2, void JTesta()
{
n=2;
m=5;
}
3,System.out.println("jt.n="+jt.n+"jt.m="+jt.m);
执行 main()
创建 JTesta 实例 jt
--->
然后是初始化变量
声明int类型的 n 和 m
并且 n=0 m=0 --->
然后对n和m进行赋值
n=1 m=3 --->
接着执行
System.out.println("jt.n="+jt.n+"jt.m="+jt.m); --->
得到结果 n=1 m=3
-------------------------------------------------------
LZ一定是想问为什么结果不是 n=2 m=5 因为void JTesta()不是构造子
如果楼主想要得到 n=2 m=5 那么只要在main()中加入jt.JTesta();就可以了
或者把void JTeata() 改成 public JTesta()就可以
{
n=2;
m=5;
}
上面这个不是构造函数(构造函数是没有返回植滴..),如果该成public JTesta()...结果就会是 n=2,m=5~
在main方法里创建一个JTesta调用JTesta类构造方法并初始化对象jt,
再执行System.out.println();
void JTesta()
{
n=2;
m=5;
}
这只是一般的方法,并不是构造方法
你的代码构造方法是系统默认的即
JTesta(){}
如果楼主想要得到 n=2 m=5 那么只要在main()中加入jt.JTesta();就可以了
或者把void JTeata() 改成 public JTesta()就可以
----------------------------------------------------------------
意思是说只有public 声明过的void 才有可能是构造函数吗?
哪本书有详细的说明啊?
----------------------------------------------------------------
意思是说只有public 声明过的void 才有可能是构造函数吗?
哪本书有详细的说明啊?
----------------------------------------------------------------
public声明的构造子是系统默认的
也可以使用 private 具体请参考 Singleton 模式
原因很简单 void JTesta()
{
n=2;
m=5;
}
不是构造方法。象上面所说 它有个默认构造方法 public JTesta(){ } 它就是调用构造方法
并不调用一般方法。