static是静态修饰符,一般用来修饰类中的成员。
当定义一个类时,类中会有相应的属性和方法,而属性和方法都是通过本类创建对象调用的。
static 可以修饰成员变量,成员方法
如:public class Person{
static int age;
public static void demo(){
}
}
static修饰成员变量 : 当一个类中的某一个成员变量,不是属于某个对象,而是属于所有对象。
如:
public class Chinese{
int age;
String name;
static String nation="中国"; / /中国人国籍都是中国,用static
}
public class Test{
public static void main(String[] args){
Chinese ch1=new Chinese(); //创建一个Chinese对象
ch1.age=18;
ch1.name="刘德华"
/* ch1.nation="美国"; 如果赋值为”美国”,那么再创建下一个Chinese对象时x.nation就直接为“美国”,static 的东 西放在了静态区/数据共享区,它们是公用的 */
System.out.println(ch1.name+".."+ch1.nation); / /ch1.nation 会打印“中国”
}
}
用法:
static 修饰的成员属于类,不属于单个这个类的某个对象
1、成员变量
类名.成员变量名;
2、成员方法
类名.成员方法名;
静态代码块:
定义在成员位置,使用static修饰的代码块。
特点:
1、在同一个类中,它优先于主方法执行,优先于构造代码块执行,当以任意形式第一次使用到该类时就执行。
2、该类不管创建多少对象,静态代码块只执行一次。
3、可用于给静态变量赋值,用来给类进行初始化。//数据库中用到
final
final:是个修饰符,意为最终、不可变。可以修饰类、类的成员方法、以及变量(成员变量和局部变量)
final修饰类不可以被继承,但可以继承其他类。
final 修饰方法不可以被覆盖,但父类中没有被final修饰的方法,子类覆盖后可以加final
final 修饰的变量称为常量,这些变量只能赋值一次。
引用类型的变量值为对象地址值,地址值不能变,但地址内的对象属性值可以修改。
final修饰成员变量,需要在创建对象前赋值,否则报错;
也可以成员变量不赋值,但是构造方法必须赋值。