ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java中static关键字

2020-11-27 20:57:48  阅读:194  来源: 互联网

标签:Java name Chinese 关键字 static ls 修饰 变量


static关键字

关键字
被程序语言赋予特殊含义的单词,一般都小写,起修饰作用

static 被称为静态的,可以用来修饰类的属性、方法、代码块、内部类

特点
1.随着类的加载而加载 :创建的成员变量与类一块加载在方法块或元空间中,不随对象的创建而复制
2.优先于对象存在 :对象需要创建才能使用,静态修饰的成员变量方法不用创建对象就可以使用(见tset_1)
3.修饰的成员,被所有对象所共享
4.可不创建对象,直接被类调用 静态变量内存中只有一份,可以直接通过 类名.变量名(方法名) 直接调用 例如: Car.name

package com.ff.javaoop.lei2;

public class Chinese {
   /* static被称为静态,可以用来修饰类的属性,方法,代码块,内部类。
    1.随着类的加载而加载   :与类一块加载在方法块或元空间中,不随对象的创建而复制
    2.优先于对象存在:对象需要创建才能使用,静态修饰的成员变量方法不用创建对象就可以使用(见tset_1)
    3.修饰的成员,被所有对象所共享
    4.可不创建对象,直接被类调用      Chinese.country
    */


    String name;
    int age;
    String id;
    static String country="中国";   //static修饰成员变量


    /*
   非静态方法变量可以包含成员变量和静态变量
   静态方法中变量也只能是静态的,不能包含成员变量
    */
    static int piao=15;  //定义静态的成员变量
    public static void Maipiao(){
        piao=piao-1;
        System.out.println("卖票一张  剩余"+piao);
        //System.out.println(name);   //改部分不正确,因为name为非静态的成员变量,在加载此静态方法时,未创建对象并对name赋值,name不存在

    }
}

测试类

package com.ff.javaoop.lei2;

public class test_Chinese {
    public static void main(String[] args) {

        System.out.println(Chinese.country);    //tese_1   static静态类修饰的成员变量优先于对象存在,即对象没有创建时也可以调用

        Chinese ls=new Chinese();
        ls.name="李四";
        ls.age=19;
        ls.id="中国";
        System.out.println(ls.name+" "+Chinese.country+" "+ls.age+" "+ls.id);

        Chinese zs=new Chinese();
        zs.name="张三";
        zs.age=20;
        zs.id="中国";
        System.out.println(ls.name+" "+Chinese.country+" "+ls.age+" "+ls.id);

        Chinese.Maipiao();     //静态方法的测试    类名.变量名  直接访问
        Chinese.Maipiao();
        Chinese.Maipiao();


    }
}

运行结果

中国
李四 中国 19 中国
李四 中国 19 中国
卖票一张  剩余14
卖票一张  剩余13
卖票一张  剩余12

标签:Java,name,Chinese,关键字,static,ls,修饰,变量
来源: https://blog.csdn.net/weixin_52551903/article/details/110245811

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有