永发信息网

java这个类体中,跟HelloWorld那个不一样,此处一开始就是static String s

答案:3  悬赏:30  手机版
解决时间 2021-04-29 08:49
  • 提问者网友:萌卜娃娃
  • 2021-04-29 01:12
java这个类体中,跟HelloWorld那个不一样,此处一开始就是static String s
最佳答案
  • 五星知识达人网友:人间朝暮
  • 2021-04-29 02:27
你好,你的想法是对的,s2是局部变量,作用域在方法中。而关于static的含义:

概念:
static是为了将某个成员变量/方法关联到类(class)而非实例(instance)。 你不需要创建一个对象就可以直接使用这个类的static成员, 在A类中调用B类的static成员可以使用B.staticMember的写法。 注意一个类的static成员变量是唯一的,被所有该类对象所共享的。

请参考以下例子
比如说有一个类Dog;
属性:clolor,狗狗可以有好多颜色;
munberOfLegs =4 每只狗狗只有4条腿,这个就应该是静态的;

静态的属性不依赖于类的存在而存在,简单说,你可以定义
Dog dog1 = new Dog();
Dog dog2 = new Dog();
Dog dog3 = new Dog();
这里定义了三条狗狗,狗狗的颜色依赖于类本身,即dog1,dog2,dog3;三条狗狗可以有不同的颜色;
而狗狗的腿的数量不依赖于dog1,dog2,dog3;所有的狗狗都是4条腿,所以该属性定义为static追问简单来说成员变量开始是用static修饰? String是修饰字符串?追答对,String是字符串类型,但成员变量不一定都用static修饰,只有类变量(即该类生成的所有对象该值都相同的时候),才用static,如果各对象该变量值不同,则不用加static,请参照之前举的狗的例子,狗都是有四条腿的,所以是static,但颜色跟据每个狗的不同而不同,所以不加static追问java类中有两种成员变量,
一种没有static修饰,称为实例变量,
一另种是被static关键字修饰的变量,称为类变量或者静态变量。 这个?追答类变量(static)是该类所有对象共有的,只有一份,比如一个对象改这个值成1,那么这个类所有对象的这个值都变为1了。但对于实例变量(非static),一个对象改值和不影响其他对象,因为这个变量是每个对象都有一份
全部回答
  • 1楼网友:酒者煙囻
  • 2021-04-29 04:07

s2 是局部变量
static 是静态的 一般用于:工具类、字典类、等
static 就是你不用初始化这个类 它也存在
  • 2楼网友:一把行者刀
  • 2021-04-29 02:49

static修饰的变量,成为静态变量,该变量在内存中只有一个拷贝,虚拟机只为静态变量分配一次内存,而实例变量,也就是没有static修饰的变量,你每new一次类,就会为实例变量分配一次内存
类1:
public class Frist{
    static String s1 = "你好";
    String s2 = "java";
}
测试类:public class Test{
    public static void main(String[] args){
        //这个时候的s1可以用类名直接调用
        System.out.println(Frist.s1);//输出结果为"你好"
        //s2需要这样调用
        Frist f = new Frist();
        System.out.pringln(f.s2);
        
        //或者你这么看
        Frist f1 = new Frist();
        Frist f2 = new Frist();
        Frist f3 = new Frist();
        System.out.pringln(f1.s2);//输出结果为"java"
        System.out.pringln(f2.s2);//输出结果为"java"
        System.out.pringln(f3.s2);//输出结果为"java"
        f2.s2="aaa";
        f3.s2="bbb";
        System.out.pringln(f1.s2);//输出结果为"java"
        System.out.pringln(f2.s2);//输出结果为"aaa"
        System.out.pringln(f3.s2);//输出结果为"bbb"
    }
}追问是不是static是成员变量的用法,只要成员变量都是static开始…追答java类中有两种成员变量,
一种没有static修饰,称为实例变量,
一另种是被static关键字修饰的变量,称为类变量或者静态变量。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯