面向对象——关键字
A.static
实例成员与类成员
- 修饰符什么是类成员
- 使用static修饰的成员方法和成员变量称为类成员
- 使用static修饰的成员变量叫做类变量
- 使用static修饰的成员方法叫做类方法
- 什么是实例变量
- 未使用static修饰的成员方法和成员变量称为实例成员
- 未使用static修饰的成员变量叫做实例变量
- 未使用static修饰的成员方法叫做实例方法
实例变量和类变量的区别
- 所有该类的对象共享同一个类变量,但是每个对象都会有自己独特的实例变量
- 所有该类的对象都能改变类变量的值,但是每个对象只能改变自己的实例变量值
- 实例变量在使用前必须创建一个对象,根据对象名.变量名使用,但是类变量不需要创建对象
类方法和实例方法的区别
- 所有该类对象共享类方法和实例方法
- 类方法使用类名.方法名([参数])调用
- 实例方法使用对象名.方法名([参数])调用
实例成员和类成员的相互访问限制
- 实例方法可以直接访问实例变量和实例方法。
- 实例方法可以直接访问类变量和类方法。
- 类方法可以直接访问类变量和类方法。
- 类方法不能直接访问实例变量或实例方法,要访问它们必须使用对象引用。还有,类方法不能使用this关键字,因为没有this的实例可供使用。
静态代码块
是一个以static为前导的代码块,一般用于为类的工作做一些初始化工作,如初始化一些静态变量。
普通属性叫实例成员,(没有被static修饰的).
public double r;
static 修饰符
修饰属性
一旦某个成员被static修饰,那么该成员就变成了类成员。
类成员不再依赖对象而存在,而是依赖类存在。
public static double pi;
Circle c1 = new Circle();
c1.r = 10;
Circle.pi = 5;
Circle c2 = new Circle();
System.out.println(c2.r);
System.out.println(c2.pi);
System.out.println(Circle.pi);//公共变量,直接使用类名调用//因为被static修饰
static修饰后,直接用类名调用!!!!!!
修饰方法
//static 修饰方法:
public void test_1(){
System.out.println(this.r);
System