一个简单JAVA类,一直报错,郁闷!请大家帮助解答,谢谢

maishunyuan 2007-09-13 06:24:19
有个问题可以解答么?
package untitled3;

public class AAA {
public AAA() {
System.out.println("u1u");
}

int v;
private static AAA a;
public static AAA method() {
if (a == null) {
a = new AAA();
return a;
}
return null;
}

public int getValue() {
return v;
}

public void setValue(int v1) {
if(v1!=0){
this.v = v1;}
else{
this.v=0;
}

}

public static void main(String[] args) {
AAA t1 = AAA.method();
AAA t2 = AAA.method();
t2.setValue(23);
System.out.println(t1.v == t2.v);
}
}
为什么一直报错呢,谢谢
...全文
135 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
maishunyuan 2007-09-13
  • 打赏
  • 举报
回复
解决了
public static AAA method() {
if (a == null) {
a = new AAA();
return a;
}
return a;

谢谢各位
zongjianh 2007-09-13
  • 打赏
  • 举报
回复
public static AAA method() {
if (a == null) {
a = new AAA();
return a;
}
return null;
}
不明白为什么怎么定义啊
zephyr_cc 2007-09-13
  • 打赏
  • 举报
回复
if (a == null) {
a = new AAA();
return a;
}
return null;
这里,你第一次AAA t1 = AAA.method();
后a就不为空了,
所以你第二次AAA.method的时候自然要返回null.
maishunyuan 2007-09-13
  • 打赏
  • 举报
回复
补充:
报下面的错

java.lang.NullPointerException
at untitled3.AAA.main(AAA.java:29)
u1u
Exception in thread "main"

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧