静态static:共享(多个对象 共同使用同一个对象)
共享单车、共享电车、共享汽车
用static修饰的属性和方法称为静态属性和静态方法
没有用static修饰的属性和方法称为实例(成员)属性和实例(成员)方法
静态属性和静态方法调用:
类名.属性名;
类名.方法名([参数]);
静态代码块:
static{
代码块;
}
类中静态代码块优先执行
主函数
public static void main(String[] args){
Student s = new Student();
s.name = "小明";
Student s2 = new Student();
s2.name="大小姐";
}
案例:
public class Student {
static int sid;//学号
int age;
String name;
public void run() {
System.out.println(name+"会跑步");
}
public static void a() {
System.out.println("共享方法");
}
}
测试:
public class Test {
public static void main(String[] args) {
//实例化一个学生对象
Student stu = new Student();
stu.name = "吕布";
stu.sid = 1;
//实例化第二个对象
Student a = new Student();
a.name = "孙策";
a.sid=999;
Student stu3 = new Student();
Student stu4 = new Student();
//直接通过类来调用静态属性
Student.sid = 123456;
Student.a();
System.out.println("学生1:"+stu.name);
System.out.println("学生2:"+a.name);
stu.run();
a.run();
System.out.println("学生1学号:"+stu.sid);
System.out.println("学生2学号:"+a.sid);
System.out.println(stu3.sid);
System.out.println(stu4.sid);
System.out.println("=======================");
//实例化一个 StaticTest对象
StaticTest st = new StaticTest();
}
}