一、变量类型
- 类变量(静态变量)
独立于方法之外,用static修饰
static int age =10
- 静态变量在第一次被访问时创建,在程序结束时销毁
- 静态变量可以通过:ClassName.VariableName的方式访问。
- 无论一个类实例化多少对象,它的静态变量只有一份拷贝
- 实例变量
独立于方法之外,String str = ‘hello java
- 当一个对象被实例化之后,每个实例变量的值就跟着确定;
- 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
- 实例变量可以声明在使用前或者使用后
- 实例变量可以直接通过变量名访问
- 实例变量具有默认值
- 局部变量
类的方法中的变量
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁
- 局部变量是在栈上分配的
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
二、修饰符
1. 访问控制类
2. final修饰符
final变量:变量一旦赋值后,不能被重新赋值;被 final 修饰的实例变量必须显式指定初始值。
常量定义:final static PI=3.1415
final方法:父类中的 final 方法可以被子类继承,但是不能被子类重写
final类: final 类不能被继承,没有类能够继承 final 类的任何特性。
3. abstract 修饰符
- 抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充
- 如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误
- 抽象方法的声明
public abstract sample();
以分号结尾
4.synchronized 修饰符
synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符