类变量
与类一起加载一次, 在内存中保留一份,可以被类和所有的对象共享。
实例变量
实例变量属于对象, 每个对象都有一份,只能被对象访问。
public class TestStatic {
public static void main(String[] args) {
Student1.name = "张三";
Student1 student1 = new Student1();
student1.name = "李四";
student1.age = 11;
System.out.println(Student1.name);
}
}
class Student1 {
//类变量
static String name;
//实例变量
public int age;
}
类方法
有static修饰的方法,属于类
成员方法
无static 修饰的方法,属于对象
public class TestStatic {
public static void main(String[] args) {
Student1.name = "张三";
Student1 student1 = new Student1();
student1.name = "李四";
student1.age = 11;
System.out.println(Student1.name);
Student1.printHello();
//不推荐该用法
student1.printHello();
// 实例方法
student1.printAge();
}
}
class Student1 {
//类变量
static String name;
//实例变量
public int age;
public static void printHello() {
System.out.println("hello ");
}
public void printAge() {
System.out.println(age >= 18 ?"成年":"未成年");
}
}
注意事项
类方法中可以访问类的成员,不可以访问实例成员;
实例方法中可以访问类的成员, 也可以访问实例成员;
实例访问中可以使用this关键字,类方法中不可以使用this关键字;
静态代码块
类加载时自动执行, 由于类只加载一次,所以静态代码块也加载一次。
作用是完成类的初始化,比如对类的成员初始化赋值。
实例代码块
每次创建对象时候,执行实例代码块,并在构造器前执行。
作用是和构造器一样,对实例成员的初始化,比如对实例成员初始化赋值。
public class TestStatic {
public static void main(String[] args) {
Student1.name = "张三";
Student1 student1 = new Student1();
student1.name = "李四";
student1.age = 11;
System.out.println(Student1.name);
Student1.printHello();
//不推荐该用法
student1.printHello();
// 实例方法
student1.printAge();
// 测试静态代码初始化类变量
System.out.println(Student1.school);
}
}
class Student1 {
static {
System.out.println("静态代码块执行了");
school = "xx大学";
}
{
//实例代码块
System.out.println("实例代码块执行了");
// 实际上这样使用较少
//age = 100;
System.out.println("有人创建了实例" + this);
}
//类变量
static String name;
//实例变量
public int age;
static String school;
public Student1() {
System.out.println("无参构造器执行了");
}
public Student1(int age) {
System.out.println("有参构造器执行了");
age = 120;
}
public static void printHello() {
System.out.println("hello ");
}
public void printAge() {
System.out.println(age >= 18 ?"成年":"未成年");
}
}
标签:Java,Student1,System,student1,实例,static,public
From: https://blog.csdn.net/m0_64134481/article/details/137144935