2026/4/15 20:31:48
网站建设
项目流程
如何做企业网站,成都品牌logo设计,建设部政务网站,wordpress比价插件一.staticstatic是静态修饰符表示“属于类本身#xff0c;而不是某个类的实例”#xff0c;即不需要创建对象就可以通过类名访问static成员被static修饰的#xff0c;会优先与对象先在内存中加载出来1.static修饰成员变量即静态变量#xff0c;也叫类变量#xff0c;这个类…一.staticstatic是静态修饰符表示“属于类本身而不是某个类的实例”即不需要创建对象就可以通过类名访问static成员被static修饰的会优先与对象先在内存中加载出来1.static修饰成员变量即静态变量也叫类变量这个类的所有对象都共享静态变量的数据package staticdemo; public class Student { private String name; private int age; public static String schoolName; // static表示静态是Java中的一个修饰符可以修饰成员方法成员变量 // 被static修饰后称为静态成员变量或静态成员方法 // 静态变量是所有类的实例所共享的静态变量也叫类变量 // 静态变量的调用方式类名.静态变量名推荐 或 实例对象.静态变量名 public Student() { } public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } public void show(){ System.out.println(name , age , schoolName); } }2.static修饰成员方法javabean类用于描述一类事物的类比如学生、猫、狗……测试类用于检查其他类是否书写正确并带有main方法是程序的主入口工具类不是用来描述一类事物而是来帮助编程的人来完成一些事情的类提供一组独立的无状态的可复用的功能在创建工具类的时候需要注意类名见名知意要私有化构造方法不让外界创建这个工具类的对象。因为创建工具类的对象没有什么意义防止实例化也节省内存类的方法定义为静态方法因为工具类中的方法不依赖于任何对象直接类名.方法就可以调用例子在实际开发中经常会用到一些数组使用的工具类。如提供一个工具类方法printArr用于返回整数数组的内容如提供一个工具类方法getAverage用于返回一维浮点型数组的平均值public class ArrayUtil { // 私有化构造方法不让外界创造它的对象 private ArrayUtil(){}; public static String printArray(int[] arr){ StringBuilder sb new StringBuilder(); sb.append([); for (int i 0; i arr.length; i){ if (i arr.length - 1){ sb.append(arr[i]); } else { sb.append(arr[i]).append(, ); } } return sb.append(]).toString(); } public static double getAverage(double[] arr){ double sum 0; for (int i 0; i arr.length; i){ sum arr[i]; } return sum / arr.length; } }3.static使用的注意点1.静态方法中没有this关键字非静态方法中的参数有一个默认的this参数即方法名(类名 this)。但是this不用手动调用是虚拟机自动赋值调用的。而静态方法中没有this关键字作为方法的参数复习this指的是当前类的对象即调用者的地址非静态的方法与对象相关所以要有this关键字而静态的方法与对象无关是全局共享的所以没有this关键字2.静态方法不能调用类中非静态的成员方法因为非静态的方法和对象相关是含有默认的this关键字的。如果要调用非静态方法要加上this关键字虚拟机自动加。但是静态方法中没有this关键字虚拟机不会自动加上和调用编程的人手动加上也会报错。所以静态方法中不能调用类中的非静态的成员方法3.非静态的方法可以调用类中所有的成员方法或成员变量非静态方法有this关键字而且静态变量和静态方法是全局整个类共享的所以非静态的方法可以调用所有的方法和变量二.public1.详情public是Java的一个访问修饰符它的主要作用是控制类、方法、变量等成员的访问范围。当成员被声明为public时表示该成员可以被其他任何类访问无论这些类是否在同一个包中。public修饰类时表示这个类可以被其他的类访问如果类名不用public修饰比如默认class 类名(){ ... }就表示这个类只能在同一个包内被访问2.public与其他修饰符的对比修饰符同类同包子类不同包不同包public✅✅✅✅protected✅✅✅❌默认无✅✅❌❌private✅❌❌❌