Java基础--static关键字

来源:互联网 发布:程序员的发展 编辑:程序博客网 时间:2024/05/22 15:40

静态:static
用法:是修饰符,只能修饰成员(成员变量,成员函数)。
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,
还可以直接被类名调用,调用方法(类名.静态成员)
static特点:
1、随着类的加载而加载,也就是说静态会随着类的消失而消失,生命周期最长
2、优先于对象存在,明确一点静态是先存在的,对象是后存在的
3、被所有的对象所共享
4、可以直接被类名所调用

一、实例变量和类变量的区别
1、存放位置:
实例变量是当对象创建以后存放在堆内存中,
类变量是一类一旦定义后就会存放在方法区中.
2、生命周期:
类变量生命周期最长,随着类的消失而消失
实例变量随着对象的消失而消失;对象消失,则实例变量的内存就变为垃圾

二、静态的使用注意事项:
1、静态方法只能访问静态成员
非静态方法可以访问非静态与静态方法/变量。
2、静态方法中不可以定义this、super关键字因为静态优先于对象存在
所以静态方法中不可以出现this
3、主函数是静态的

三、静态优缺点
优势:对对象共享的数据进行单独空间的存储,节省内存,没有必要每个对象都存储一次
可以直接被类名调用
缺点:生命周期过长,访问出现局限性(静态虽好,只能访问静态)

class  StaticDemo{    public static void main(String[] args)     {        //Person p = new Person("ZBT","HuBei");        //p.getName("jinshan");        //System.out.println(p.country);        //p.Person="Jinshan";        //p.show();        //system.out.println(Person.country)这种方式就是直接利用类名调用静态成员的方式Person为类名,country为静态成员        Person.show();    }}class Person{    private String name;//成员变量,实例变量    private String province;//静态的成员变量,类变量。    static String country="China";//使用静态这个关键字可以将country这个变量不变化    Person(String name)//这就是构造函数的方法,方法明和类名一致要明确构造函数只是在程序一开始对变量进行一个初始化    {        this.name=name;        show();    }    /*    Person(String name)//错误,因为上main已经定义了一个                         Person 构造函数且是一个变量,如果两个函数变量名相同且变量个数相同                         且变量类型相同那就构不成重载,这时就会构成函数的二义性    {        this.name=name;    }    */    /*    Person(String name,String country)    {        this.name=name;        this.country=country;        show();    }    这里因为country已经摆定已成了static类型,那么如果我想改变这个国籍的名称该怎么办??*/    Person(String name,String province)    {        this.name=name;        //this.country=country;        this.province=province;        show();    }    public String getName(String name)    {        return this.name=name;    }    public static void show()    {        /*System.out.println(name);//提示无法从静态上下文中非静态变量。*/        System.out.println(name+" comes from "+province+" province",country")    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 生完宝宝没奶水怎么办 生完三天没奶水怎么办 生完孩子奶头小怎么办 生完孩子没有奶水怎么办 宝宝刚出生没奶怎么办 婴儿含着乳头睡怎么办 没满月的换奶粉怎么办 生完孩子奶少怎么办 刚满月没奶了怎么办 健康之路没奶水怎么办 生完孩子奶胀痛怎么办 生完两天没有奶怎么办 一个多月的宝宝睡眠不好怎么办 产妇奶少不够吃怎么办 冬天腿上掉皮屑怎么办 一岁宝宝不喝奶粉怎么办 2岁宝宝不吃奶粉怎么办 老婆生了孩子性冷淡怎么办 宝宝有轻度地贫怎么办 不小心怀孕了该怎么办 45岁不小心怀了怎么办 喝了酒胃不舒服怎么办 备孕期间孕酮低怎么办 2个月宝宝不睡觉怎么办 生完小孩肚子还是很大怎么办 生完孩子肚皮疼怎么办 生完孩子有肚腩怎么办 生完宝宝肚子还是很大怎么办 生完孩子小腹大怎么办 生完孩子肚皮松怎么办 生过孩子肚子松怎么办 生完孩子肚皮痒怎么办 生完小孩肚子松弛怎么办 生了孩子肚子大怎么办 嫁到别的省户口怎么办 孕中期假性宫缩怎么办 频繁的假性宫缩怎么办 显卡风扇不转了怎么办 老是想不好的事怎么办 做人工受孕多囊怎么办 子宫内有囊肿该怎么办