class xuesheng { private xuesheng(){}; public static xuesheng x=new xuesheng(); public static xuesheng getxuesheng() { return x; } private int age; public void setage(int age) { this.age=age; } public int getage() { return age; } } class yanshi { public static void main(String[] args) { xuesheng a=xuesheng.getage();//错误的地方是在别的类里面,无法直接通过类名.方法 xuesheng b=xuesheng.getage();();//错误的地方是在别的类里面,无法直接通过类名.方法 //然后,就算你是要将数值传送给a和b,那么他们的类型也只能是int,因为getage()方法返回值是int类型,所有这里出错了,至于你的问题,我还是没法看懂你在问的什么 a.setage(22); System.out.println(b.getage()); } } |
如果修改你的代码,那么就是如下: class xuesheng { private xuesheng(){}; public static xuesheng x=new xuesheng(); public static xuesheng getxuesheng() { return x; } private int age; public void setage(int age) { this.age=age; } public int getage() { return age; } } class yanshi { public static void main(String[] args) { int a=xuesheng.x.getage(); int b=xuesheng.x.getage(); xuesheng.x.setage(22); //修改了以后就是这样。但是,你这个毫无意义啊已经给定了b的值,然后在下面给他传入值是不被保存的,那么你下面输出的也只会是0.。除非。你把我修改的这句话放在第一行或者int a=xuesheng.x.getage();下面。这样能保证b输出的22; System.out.println(b.getage()); } } |
arthur 发表于 2013-4-9 23:43
xuesheng a=xuesheng.getxuesheng();
xuesheng b=xuesheng.getxuesheng();
改成这样?代码有点看不懂.但是你 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |