/*static静态修饰符的用法
是一个修饰符,用于修饰成员(成员函数,成员变量)
当成员被修饰后。就多用了一个调用方式,除了可以被对象调用。还可以直接被类名调用 如:类名.静态成员/方法
1 在一个(不是栈,和堆的)内存中中存放静态变量,随着类的加载而加载,随着类的死亡,而死亡,生命周期最长
2 优先于对象存在
3 被所有的对象所共享
4 可以被类名所调用
5 主函数是静态的
实列变量和类变量的区别
1 存放位置
类变量随着类的加载而存放与方法区中
实列变量随着对象的建立而存在于堆内存中
2生命周期
类变量的生命周期最长,随着类的消失而消失
实列对象随着对象死亡而死亡 实列变量就是对象变量
静态使用注意事项
1 静态方法只能访问静态成员
非静态方法 则都能访问
2 静态方法中不能定义this,super等关键字。
因为静态优先于对象存在(在类中,对象创建前就存在)
利弊
利 对对象的共享数据进行单独存放,节省空间。没有必要每一个对象中都存放一份
可以直接被类名调用
弊端 生命周期过长
访问局限性,只能访问静态
*/
class StaticDemo
{
public static void main(String[] args)
{
Person p = new Person("xiaoming");
p.show();
System.out.println( p.school +"---" + Person.school);//通过对象访问,通过类名访问
}
}
class Person
{
private String name;//成员变量,实列(对象)变量
static String school = "zknu";//静态的成员变量
Person(String name)
{
this.name = name;
}
void show()
{
System.out.println(name + school);
}
}
java笔记,static修饰符
最新推荐文章于 2024-03-04 15:13:29 发布