学习目录
static成员
在Java中,被static修饰的成员,称之为静态成员,也可以称为类变量,其不属于某个具体的对象,是所有对象所共享的
static 修饰的成员变量
static
修饰的成员变量被叫做静态成员变量
而静态成员变量的特性:其不属于某个具体的对象,是所有对象所共享的
静态成员变量特性:
- 静态成员是不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中
- 静态成员变量可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问,更好的区分开来
- 静态成员变量:是通过
类名.静态成员变量
访问的,静态是不依赖对象 - 类变量存储在方法区当中,生命周期伴随类的一生(即:随类的加载而创建,随类的卸载而销毁)
例如:
public class Student {
public String name; //名字
public int age; //年龄
public static String classes; // 静态成员变量 或者叫 类变量
或者也可以直接赋值 访问: 类名.静态成员变量
public static String classes = "三年假二班"; // 代表班级
public static void main(String[] args) {
//通过类名访问 修改classes值
Student.classes = "三年假一班";
//通过对象访问
Student s1 = new Student("小明",18);
System.out.println(s1.classRoom);
}
}
- static 修饰的成员变量不管
new
几次,都是只有一份的
静态代码块 3.04.16秒
static 修饰成员方法
一般类中的数据成员都设置为private,而成员方法设置为public,
【静态方法特性】:
- 在静态的成员方法内部,不能直接访问非静态的成员变量和成员方法
- 静态方法无法重写,不能用来实现多态
public class Student {
public String name; //名字
public int age; //年龄
public static String classes; // 静态成员变量 或者叫 类变量
// 也可以直接赋值 访问: 类名.静态成员变量
//public static String classes = "三年假二班"; // 代表班级
//构造方法 赋值
public Student(String name,int age){
System.out.println();
this.name = name;
this.age = age;
}
// 打印
public void print() {
System