***************************************************
public class Hello
{
public static void main(String[] args)
{
new Hello();
}
public void Hello(long x)
{
System.out.println("a");
}
public void Hello(int x)
{
System.out.println("b");
}
public void Hello()
{
System.out.println("c");
}
}
****************************************************
大家帮忙看看这个程序为什么会没有输出?还有关于this的用法不太清楚,希望大家详细讲讲,谢了~~
public class Hello
{
public static void main(String[] args)
{
new Hello();
}
public void Hello(long x)
{
System.out.println("a");
}
public void Hello(int x)
{
System.out.println("b");
}
public void Hello()
{
System.out.println("c");
}
}
****************************************************
大家帮忙看看这个程序为什么会没有输出?还有关于this的用法不太清楚,希望大家详细讲讲,谢了~~
}而你那三个方法只是普通的方法,main方法里都没有调用当然不会执行了。
this的作用是代表当前对象。
public Hello(){}构造方法没有void
应该是 public Hello(){}
LZ 应该是 想在构造函数中传入不同参数,打印不同结果
public class Hello {
public static void main(String[] args)
{
new Hello();
new Hello(2147483646);
new Hello(10);
}
public Hello(long x)
{ System.out.println("a");
}
public Hello(int x)
{ System.out.println("b");
}
public Hello()
{
System.out.println("c");
}}
结果:c b b
还有,为什么,我插入 long int 型数,还是打印出字母b
估计jvm 把 2147483646 当成整形处理了吧,相等于 int x = (int)2147483646;
哥猜的,望高手答案。。
好像2147483646 还在 int 范围内, 被7 楼欺骗了
public static void main(String[] args) {
new Hello(10l);
new Hello(10);
new Hello();
} public Hello(long x) { System.out.println("a");
} public Hello(int x) { System.out.println("b");
} public Hello() {
System.out.println("c");
}}