修饰符、final和static关键字

tech2022-08-11  146

1、修饰符

1.1、权限修饰符

修饰符同一个类中同一个包中子类无关类不同包的子类不同包的无关类private√默认√√protected√√√public√√√√

【private 只能修饰属性和方法,不能修饰类,一般成员属性私有,方法公共 public】 【public 一般用来修饰类和方法,默认修饰符也可以修饰属性、方法、类】 【protected 比较特殊,一般用来修饰受保护的属性和方法】

2、final

final 关键字的作用 final 代表最终的意思,可以修饰成员方法,成员变量,类

final 修饰类、方法、变量的效果: ●fianl 修饰类:该类不能被继承(不能有子类,但是可以有父类) ● final 修饰方法:该方法不能被重写 ● final 修饰变量:表明该变量是一个常量,不能再次赋值 ● final 修饰方法中的参数,该参数称为最终参数,在方法体中,不能对参数进行重新 赋值。

final 修饰基本数据类型变量 final 修饰指的是基本类型的数据值不能发生改变 final 修饰引用数据类型变量 final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的

3、static 关键字

3.1、概述

关于 static 关键字的使用,它可以用来修饰成员变量和成员方法,以及代码块,被修饰的成 员是属于类的。而不是属于某个对象,也就是说,既然属于类,就可以不用创建类的对象就 可以调用了。

3.2、静态(类)变量

当 static 修饰成员变量时,该变量称为类变量。无论创建多少个对象,都是使用的同一个类变量。没有被 static 修饰的成员变量,也被称为实例变量,它们属于对象,而不属于类,也就是说在对象没有创建之前,这些实例变量是不占任何内存空间的。

静态变量的定义语法: static 数据类型 变量名;

类变量,建议使用类名.变量名的形式来调用,不建议使用对象名.变量名

3.3、 静态(类)方法

当 static 修饰成员方法时,该方法称为类方法,静态方法在声明中有 static,使用类名来调用。

定义语法: public static 返回值类型 方法名(参数列表){

}

静态方法的注意事项 : ●静态方法只能调用静态的方法和静态的属性 ●非静态方法中可以调用静态方法和静态的属性 ●静态方法中不能使用 this、super 关键字(因为 this 和 super 都是表示的是一个对象,而 static 修饰的属于类)

3.4、静态代码块

静态代码块,主要是用来进行一些初始化的工作。 语法: static{

} 【静态代码块位于类中,任何方法的外部】

3.5、 static 原理说明

●static 修饰的变量或方法、代码块,是随之类的加载而加载的,而且只加载一次。

●static 修饰的变量或方法、代码块,存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。

●它优先于对象存在,所以,可以被所有的对象共享

最新回复(0)