一、类变量和实例变量的区别
1.类变量是属于是所有对象的,用static修饰,实例变量是属于某个对象的
2.类变量也叫静态变量,不需要通过创建实例就可以调用。而实例变量需要通过对象来访问,即需要创建对象后才能进行调用
3.类变量在程序加载类的时候初始化,而且只初始化一次。
public class Person {
// 类变量
public static String name ;
//实例变量
public int age = 20;
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "李四";
p1.age = 18;
System.out.println(p1.name +" "+p1.age);// 输出结果:李四 18
Person p2 = new Person();
//类变量是属于所有对象的,所以p1修改了name的值,p2的name也改变了
//而实例变量是属于对象自身的所以p1的age改变不影响p2的值
System.out.println(p2.name +" "+p2.age);// 输出结果:李四 20
}
}
二、类方法和实例方法的区别
1.类方法也叫静态方法,在程序刚开始时初始化,
2.类方法只能访问类的成员变量,无法访问实例变量,而实例方法两者都可以访问。
3.类方法可以通过类名直接调用。也可以通过对象.类方法,而实例方法只能通过对象.实例方法访问。
4.类方法不能被覆盖,实例方法可以被覆盖