static介绍、内部类、final、权限修饰符的作用范围
程序员文章站
2024-02-07 11:11:22
static 关键字:(可用于修饰方法、变量) static 特点: static是静态修饰符,一般修饰成员变量。被static修饰的属于全局共享。被static修饰的成员属于类,(又叫类成员)不属于单个这个类的某个对象。 被static关键字修饰的成员可通过类名.的方式调用。而且,被static修 ......
static 关键字:(可用于修饰方法、变量)
static 特点:
static是静态修饰符,一般修饰成员变量。被static修饰的属于全局共享。被static修饰的成员属于类,(又叫类成员)不属于单个这个类的某个对象。
被static关键字修饰的成员可通过类名.的方式调用。而且,被static修饰的成员是随着类的加载而加载的。
格式:
类名.成员变量
类名.成员方法
静态代码块:
优先于构造方法执行,并且只执行一次。随着类的加载而加载。一般可用于给静态变量赋值,用来给类进行初始化。
格式:
static{代码块}
内部类:
什么是内部类?
写在其他类的内部的类,就叫内部类。
什么时候使用内部类?
当在描述一类事物的时候,若该类事物内部还存在其他事物,就定义内部类。
内部类的分类:
分为成员内部类和局部内部类。
成员内部类格式:
class 类名{
class 类名{
}
main{}
}
访问方式为:外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
局部内部类格式:
class 类名{
public void show(){
class 类名{
//其他代码
}
}
}
访问方式为:需要在方法内部创建内部类对象。
匿名内部类:
定义匿名内部类的两个含义:
临时定义某一指定类型的子类
定义后即刻创建刚刚定义的这个子类的对象
作用:
匿名内部类是创建某个类型子类型的快捷方式。
定义匿名内部类的使用格式:
new 父类或接口(){
//进行方法重写
};
final 常量:
final表示最终的意思,被赋值后不可改变。可以用来修饰类、成员以及局部变量。
被final修饰的类或方法,不可以被继承或重写。
引用类型被final修饰后,是地址值不可以被改变,值还可以改变。
权限修饰符的作用范围:
四种包的访问权限修饰符:public 、 protected 、 default 、 private
public 权限最大,private权限最小。
public protected default private
同一类中 true true true true
同一包中(子类与无关类) true true true
不同包的子类 true true
不同包中的无关类 true
归纳:
要想仅能在本类中访问使用private修饰;
要想本包中的类都可以访问不加修饰符即可;
要想本包中的类与其他包中的子类可以访问使用protected修饰
要想所有包中的所有类都可以访问使用public修饰。
注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。