static 静态变量
图片出处:b站学习黑马教程的截图
学习笔记 如果也帮助到了你 可以点个小关注 谢谢
需求:利用Javabean实现一个学生信息内容
属性:性别 年龄
行为:学习
建立Javabean 封装字段后 给teacher增加static
这里是Studnt的Javabean代码
为字段写了public static String teacher;
这里 的字段 teacher就变成了一个公共的类 由Student全部对象共享
具体代码如下
public class Student {
public void Study(){
System.out.println("正在学习");
}
public void Show(){
System.out.println(name+age+sex+teacher);
}
public Student(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
private String name;
private int age;
private String sex;
public static String teacher;
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 String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
写一个main方法直接调用来试试 想看出区别可以多创建几个对象实例
public class Main {
public static void main(String[] args) {
Student ss= new Student();
ss.teacher="niuma";
ss.setSex("女");
ss.setName("ss");
ss.setAge(18);
ss.Show();
}
}
静态变量的底层逻辑:
静态变量 单独存放在堆里
随着类的字节码被加载而加载 优先于对象被加载 这里不理解先去看内存分配机制 我有写
静态方法:
一般多用于工具类
对于工具类和其他类 看下面的图
为什么要私有化构造方法?
避免外界创建对象 因为没有什么意义 里面是空的 。