/*
static(修饰符)
1.static修饰成员变量
1.如果存在数据共享给所有对象使用的话,那就使用static修饰
2.静态成员的访问方式
1.使用对象去访问
对象.变量
2.使用类名访问
类名.变量
注意:
1.非静态成员只能通过对象去访问,不能使用类名访问
2.不要因为静态调用简单,而盲目的使用static,只要成员
变量真的需要给所有对象共享时才使用static
2.static修饰成员函数
静态函数访问方式:
1.使用对象去调用
对象.函数名();
2.使用类名去调用
类名.函数名();
静态函数的注意事项:
1.静态函数不能直接访问非静态的成员
2.非静态成员可以问静态的成员
3.静态函数中不能出现this和super
记得:static数据是优先对象而存在的
static数据在类的字节码加载到内存时就加载了
静态成员变量与成员变量的区别:
1.作用上的区别:
1.静态成员变量是贡献数据给所有对象使用的
2.成员变量是描述一类事物的公共的属性
2.数量和存储位置的区别:
1.静态成员变量是存储到方法区的静态共享区上的,只有一份
2.成员变量是存储到堆内存上的,有n个对象就有n份
3.生命周期:
1.静态成员变量是随着类的加载而加载,随类的消失而消失
2.成员变量是随着对象的创建而存在,随着对象的消失而消失
*/
class MyStatic {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
class Admin {
private String name;
private int age;
Admin(String name){
this.name=name;
}
Admin(String name,int age){
this(name);
this.age=age;
}
public void run(){
int name="狗";
System.out.println(this.name+"在跑");
}
|
|