首页 > 试题广场 >

下列关于一个类的静态成员的描述中,不正确的是

[单选题]
下列关于一个类的静态成员的描述中,不正确的是
  • 该类的对象共享其静态成员变量的值
  • 静态成员变量可被该类的所有方法访问
  • 该类的静态方法能访问该类的静态成员变量
  • 该类的静态数据成员变量的值不可修改
推荐
静态数据成员变量的值可以修改
编辑于 2015-01-04 16:18:11 回复(8)
静态方法里只能访问本类方法中的静态成员,不能直接访问非静态的属性和方法。
这是因为静态方法不依赖于对象,所以当类加载成功后,静态方法就可以访问了。
而此时的对象不一定存在,非静态成员自然也不一定存在。而且即使存在非静态成员,静态方法也不知道访问哪一个对象的成员。
静态方法中也不能出现this关键字,因为this是针对对象而言的。
本类中的非静态方法可以访问本类的静态属性,也可以调用静态方法。

发表于 2017-08-03 09:53:46 回复(2)
我来说说吧,关于static定义的变量只能初始化一次是指在开始定义static变量的时候,如下列代码:
public class sb{
    static int a=1;//说明一下如果不给a赋值,a默认等于0,因为static定义的变量只能初始化一次,即在此处就算初始化了,即使没定义具体的值,默认的0也算初始化了
    int b=2;//这里指第一行代码
    a=b;//对于只能初始化一次是指在此处,即函数体外,而不是指在函数体内或者在方法体内,所以如果这里多了第一行代码和此行代码的话就会出错。
    public static void main(Stirng[] args){
        int a=2;//而在函数体内或者在方法体内定义的话则可以修改变量的值
        System.out.println(a);//输出结果为2,同理在方法体内的情况也是一样,那种情况留给读者自己证明一下吧。
}  
}
发表于 2019-01-16 18:41:44 回复(0)
static:静态成员变量的值可以修改;
final:修饰的变量的值不可以被修改,相当于常量;
发表于 2021-01-19 11:43:00 回复(0)
public class MyStaticDemo {
    static String str = "mystatic";
    public static void main(String[] args) {
       /* 该类的象共对享其静态成员变量的值
          静态成员变量可被该类的所有方法访问
         该类的静态方法能访问该类的静态成员变量
         该类的静态数据成员变量的值不可修改
      */
        MyStaticDemo myStaticDemo = new MyStaticDemo();
        System.out.println(myStaticDemo+str);//该类的象共对享其静态成员变量的值  该类的静态方法能访问该类的静态成员变量 √

        //调用getYouStr方法
        str = "youstatic";
        System.out.println(str);//输出youstatic  因此该类的静态数据成员变量的值不可修改×
    }

    protected String getStr(){
        return "youstatic" + str;//静态成员变量可被该类的所有方法访问
    }
}

发表于 2020-03-16 20:04:55 回复(1)
  1. 类的静态成员与类直接相关,与对象无关,在一个类的所有实例之间共享同一个静态成员,A正确
  2. 静态成员函数中不能调用非静态成员,C正确
  3. 非静态成员函数中可以调用静态成员,B正确
  4. 常量成员才不能修改,静态成员变量必须初始化,但可以修改(例如我们常利用静态成员变量统计某个函数的调用次数),D错误
发表于 2015-08-28 21:48:01 回复(4)
  • 该类的对象共享其静态成员变量的值
  • 静态成员变量可被该类的所有方法访问
  • 该类的静态方法只能访问该类的静态成员变量
  • 该类的静态数据成员变量的值可修改
发表于 2015-04-21 10:39:39 回复(2)
静态成员变量可被该类的所有方法访问,但是类的静态方法不能调用类的非静态成员变量。
类的静态成员变量只有在类加载的时候,初始化一次,但可以修改
发表于 2015-08-13 10:57:36 回复(0)
静态只有常量不可修改,指针指向的值可以修改
发表于 2015-06-16 16:27:14 回复(0)
<p>静态成员被所有对象共享</p><p>静态成员可被所有方法访问</p><p>静态方法只能访问静态成员</p>
发表于 2020-10-21 10:58:11 回复(0)
如果加了final,该类的静态数据成员变量的值不可修改
发表于 2020-09-17 10:06:33 回复(0)
d
发表于 2020-03-05 10:42:24 回复(0)
只是static修饰的当然可以改,该类共享这个变量,如果加了final才是不可以改的,就变成了常量
发表于 2020-03-04 23:08:42 回复(0)

静态成员变量可以被该类的所有方法访问。

该类的静态方法不能调用该类的非静态成员变量。

编辑于 2020-02-07 15:26:56 回复(0)
D 静态数据成员变量的值可以修改
发表于 2020-01-20 08:17:49 回复(0)
static修饰的变量是可以被修改的,如果是final修饰就不行
发表于 2019-10-08 21:24:02 回复(0)
静态只能调静态,静态不能调用非静态,非静态可以访问静态,非静态可以访问非静态
发表于 2019-08-11 16:57:47 回复(0)
静态当然可以修改。
final类型的不可。
发表于 2019-07-04 19:41:16 回复(0)
我想问一下,不是只有静态方法才能访问静态成员吗
发表于 2019-06-27 14:32:36 回复(1)
D
发表于 2019-05-05 15:45:42 回复(0)
静态数据成员变量的值可以修改
编辑于 2019-04-29 21:04:36 回复(0)