前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java static关键字

java static关键字

作者头像
葫芦
发布2019-04-17 14:28:15
5220
发布2019-04-17 14:28:15
举报
文章被收录于专栏:葫芦葫芦
代码语言:javascript
复制
java中的static关键字和静态成员
         在java中声明类的成员变量和成员方法时,可以使用static关键字把成员声明为静态成员。静态变量也叫类变量,非静态变量叫实例变量,静态方法也叫类方法,非静态方法叫实例方法。
        类变量属于整个类,一个类可以创建多个对象,但类的每个静态变量在内存中只有一份拷贝为该类的所有对象共享。类变量(类方法)不用创建对象就可以直接通过类名访问。下面举例说明类变量与实例变量的区别:
class UseBook{
    String     name;
    float       price;
    int        count=0;   //实例变量,记录创建对象的个数
    static    int     bookNumber=100;//静态变量,书的起始编号为100
    UseBook(String n,float p){
        name = n;
        price = p;
        count++;
        bookNumber++;
    }
    void    output(){
        prt("name: " + name + "\t" + "price: " + price + "\t");
        prt("bookNumber: " + bookNumber + "\t" + "count: " + count + "\t") ;
    }
    public static void prt(String s){
        System.out.print(s);
    }
    public static void main(String[] args){
        UseBook    b1,b2,b3;
        b1=new UseBook("java2",36.0f);
        b1.output();
        b2=new UseBook("c++",40.0f);
        b2.output();
        b3=new UseBook("vb",20.0f);
        b3.output();     
    }
}

结果如下所示:
    
name: java2            price: 36.0             bookNumber: 101    count: 1
name: c++             price: 40.0             bookNumber: 102     count: 1
name: vb               price: 20.0             bookNumber: 103     count: 1

程序运行说明:程序中定义count的目的是记录创建对象的数目,但运行结果却不是期望的输出。因为每个对象都拥有一个实例变量count,创建对象时,对count加一的操作是对每个对象的count成员而不是对一个唯一的count操作,所以无法记录创建对象的个数。而bookNumber是静态变量,为所有对象共享,所有对象操作的是同一个bookNumber成员变量,每创建一个对象bookNumber值增加1,实现了书的自动编号。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/10/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档