黑马程序员_静态static

来源:互联网 发布:mysql的update触发器 编辑:程序博客网 时间:2024/06/05 11:53

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

/*静态:static
用法:是一个修饰符,用于修饰成员(成员变量和成员函数)成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以被类名调用。类名.静态成员。static特点:1.随着类的实例变量和类变量的区别1存放位置    类变量随着类的加载而存在于方法区中,    实例变量随着对象的建立而存在于堆内存中。2.生命周期类变量随着类的消失而消失实例变量随着对象的消失而消失。静态使用注意事项:1.静态访问只能访问静态成员   非静态方法可以访问非静态成员,也可以访问静态成员。2.静态方法中不可以定义this,supper   因为静态优先于对象存在,所以静态方法不可以出现this3.主函数是静态的静态有利有弊,利:对对象的共享数据进行单独空间的存储节省空间,    没有必要每一个对象中都存储一份可以直接被类名调用,弊端:生命周期过长,      访问出现局限性(静态只能访问静态)*/class Person {String name;//成员变量,实例变量static String country="CN";//静态成员变量,类变量。public void show(){System.out.println(name+"::"+country);}public static void show(){System.out.println("::"+country);}}class StaticDemo{}public static void main(String[] args) {//Person p=new Person();//创建人的对象//p.name="zhang";//p.show();System.out.println(Person.country);}


 

/*什么时候使用静态:要从两方面下手:因为静态修饰的内容有成员变量和成员函数,什么时候定义静态变量(类变量)?当对象中的对象需要共享数据时,该数据被静态所修饰。对象中的特有数据要定义成非静态存在于堆内存中。什么时候定义静态函数呢?1当功能内部没有访问到非静态数据(对象的特有数据)那么该功能可以定义成静态。*/class Person{String name;public static void show(){System.out.println("haha");}}class  {public static void main(String[] args) {//Person p= new Person();//p.show();Person.show();}}


原创粉丝点击