没办法 好像搂住的理解有问题 静态的不是不可变得public class Base { private static Base self = new Base(); private int i=0; private Base() { i = 20; } public static int getI() { return self.i; } public static void main(String[] args) { System.out.println(self.getI()); }} 输出结果为20 搞不明白楼主在搞什么
public class base{ private static base self=new base(); private base(){}
private int i=100; public static int getI(){ return self.i; } publci static void main(String[] args){ System.out.println(base.getI()); }}之所以上一个程序显示是0,是因为我在初始化的时候定义为0 现在我把他改了,你在试试看!输出肯定是100祝你好运!
private int i=0; public static int getI(){
return self.i;
}}采用单子的模式,可以使静态的方法,返回动态类下面的变量祝你好运!
public class base{ private static base self=new base();
private int i=0; private base(){
i=20;
}
public static int getI(){
return self.i;
}}
base s;
int k;
k=s.getI()
得到的还是0,i并没有改变,和静态的一样?
不可能的,
再看看一些关于Java静态成员和动态成员关系的书,
你就明白了。^_^
好像搂住的理解有问题
静态的不是不可变得public class Base {
private static Base self = new Base();
private int i=0;
private Base() {
i = 20;
} public static int getI() {
return self.i;
}
public static void main(String[] args) {
System.out.println(self.getI());
}}
输出结果为20
搞不明白楼主在搞什么
private int i=100; public static int getI(){
return self.i;
}
publci static void main(String[] args){
System.out.println(base.getI());
}}之所以上一个程序显示是0,是因为我在初始化的时候定义为0
现在我把他改了,你在试试看!输出肯定是100祝你好运!