package com.hspedu.static_; public class VisitStatic { public static void main(String[] args) { // 类名.类变量名 System.out.println(A.name); } } class A{ // public static String name = "韩顺平教育"; }
package com.hspedu.static_; public class ChildGame { public static void main(String[] args) { // int count = 0; Child child1 = new Child("白骨精"); // count++; child1.count++; Child child2 = new Child("狐狸精"); // count++; child2.count++; //类变量可以通过类名进行访问 System.out.println("共有" + Child.count + "小朋友加入游戏"); System.out.println("共有" + child1.count + "小朋友加入游戏"); System.out.println("共有" + child2.count + "小朋友加入游戏"); } } class Child{ private String name; // 定义一个变量,是一个类变量(静态变量)static 静态 // 该变量最大的特点就是会被所有Child 类的所有对象实例共享 public static int count = 0; public Child(String name) { this.name = name; } public void join(){ System.out.println(name + "加入游戏"); } }
类变量使用细节
类方法
类方法是使用场景
package com.hspedu.static_; public class StaticMethod { public static void main(String[] args) { // 创建两个学生对象,交学费 Stu tom = new Stu("tom"); tom.payFee(100); Stu mary = new Stu("mary"); mary.payFee(200); // 输出总方法 Stu.showFee(); } } class Stu{ private String name; // 普通成员 // 定义一个静态变量,累计学生的学费 private static double fee = 0; public Stu(String name) { this.name = name; } // 1.放方法使用了static修饰后,该方法就是静态方法 // 2.静态方法就可以访问静态变量 public static void payFee(double fee){ Stu.fee += fee; } public static void showFee(){ System.out.println("总学费:" + Stu.fee); } }