static修饰特点
以代码形式详细讲解:
学生类
package CCom.Cnn;
public class Student {
public int age;
public String name;
public static String school;//Static下变量赋值后是共享用的
public void show(){
System.out.println(age+","+name+","+school);
}
public static void show1(){
System.out.println("被Static修饰啦,所以类调用我");
}
}
主类
package CCom.Cnn;
public class StaticDemo {
/*
static关键字是静态(共享)的意思,可以修饰成员方法,成员变量
static修饰的特点:
1.被类的所有对象共享
这也是我们判断是否使用静态关键字的条件
2.可以通过类名调用
当然,也可以通过对象名调用(但会产生新的地址)
***** 推荐使用类名调用 ***** 不浪费地址,共享内容
*/
public static void main(String[] args) {
Student.show1();//static修饰的方法下用类调用
Student.school="沸羊羊大学";
Student s = new Student();
s.name="沸羊羊";
s.age=18;
System.out.println(s.name+","+s.age+","+Student.school);
Student.school="沸羊羊大学";
Student s2 = new Student();
s.name="美羊羊";
s.age=60;
System.out.println(s.name+","+s.age+","+Student.school);
//当然如果是s.school="沸羊羊大学",此时s2.school就不用赋值啦,直接调用输出就行,但是会产生s2新的地址
}
}