4个回答
展开全部
要理解这个问题首先要知道一点,就是java的静态成员变量是有一个独立的存储空间的。
假设一个类里面如果有一个静态变量s,那个这个类的多个实例所引用的s实际上是同一个。举个例子吧
class A{
static int num = 1;
private String name
public String getName(String name){
return name;
}
public void setName(String name){
{
this.name = name;
}
public void show(){
System.out.println("name:"+name+" num:"+num);
}
}
public class Test{
public static void main(String[] args){
A a = new A();
a.setName("case A");
a.num++;
A b = new A();
b.setName("case B);
a.show();
b.show();
}
}
可以看到输出的num的值都是2
展开全部
例 : static String A = “abc”;
test(){
String s1 = A;
String s2 = A;
}
so: 对象1 ,对象2 共享 静态变量 A。
楼上的解释 太啰嗦,把分给我把。谢谢。。
test(){
String s1 = A;
String s2 = A;
}
so: 对象1 ,对象2 共享 静态变量 A。
楼上的解释 太啰嗦,把分给我把。谢谢。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态变量就是用static修饰的变量,在这个类加载的时候就会自动声明,所以不管这个类里面有多少不同方法,都可以用这个变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Demo {
public static void main(String[] args) {
new inner1().setDemo("456");
String demo1 = new inner1().getDemo();
String demo2 = new inner2().getDemo();
System.out.println(demo1);
System.out.println(demo2);
}
}
class inner1{
private static String demo = "123";
public static String getDemo() {
return demo;
}
public static void setDemo(String demo) {
inner1.demo = demo;
}
}
class inner2{
private static String demo;
public static String getDemo() {
return demo;
}
public static void setDemo(String demo) {
inner2.demo = demo;
}
}
结果是:
456
null
public static void main(String[] args) {
new inner1().setDemo("456");
String demo1 = new inner1().getDemo();
String demo2 = new inner2().getDemo();
System.out.println(demo1);
System.out.println(demo2);
}
}
class inner1{
private static String demo = "123";
public static String getDemo() {
return demo;
}
public static void setDemo(String demo) {
inner1.demo = demo;
}
}
class inner2{
private static String demo;
public static String getDemo() {
return demo;
}
public static void setDemo(String demo) {
inner2.demo = demo;
}
}
结果是:
456
null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询