final:
final是最终修饰符,可以修饰类、成员方法、变量
final修饰的类无法被继承
final修饰的方法无法被重写
final修饰的变量无法被再次赋值,变为了常量
final修饰的引用数据类型变量,可以修改对象里面的属性内容,不可改变地址值
final修饰的成员变量,不能使用默认值,没有意义,必须在创建对象之前完成赋值
static:
静态修饰符,被static修饰的内容属于类不专属于某个对象,多个对象共享使用这一个成员
使用static修饰的成员可以用类名直接访问,建议这样使用:
类名.静态方法名(参数);
类名.静态常量名;
静态修饰的成员只能直接访问静态修饰的成员,不能出现this、super,因为类是优先于对象产生
内部类的概念:定义在一个类的内部的一个类叫内部类
分为:成员内部类与局部内部类
匿名内部类:
是局部内部类的一种
匿名内部类完成两件事:
1:定义了一个类型的匿名子类
2:定义类后,即刻创建了该类对象
目的:为了创建某个类的子类对象
格式:new父类/接口(){
重写方法;
};
package:
软件组织文件的基本方式,用于将相同功能的类放到同一个包下,方便管理
在类的最前面使用package定义类所在包,注意:声明的package包必须与这个文件所在的文件夹一致
import:
包的访问:(前提,类用public修饰,类只能用public和默认修饰符访问)
同一个包下,随意访问
不同包下:
可以直接使用全名使用
为了方便,可以选择导包后,再直接使用类名本身,不加包名,在package后,class前,使用import导入类
如果是lang包下的类,或者本包下面的类,可以不导包,直接使用
访问权限:
A:private 只有本类可以访问
B:默认(default) 包权限,本包中的其它类(可以是子类或者无关类)可访问
C:protected 受保护的,不同包下的子类可以进行访问,无关类不能进行访问
D:public 公共的,都可以进行访问
代码块:
一块执行代码的区域
构造代码块:每次创建对象调用
静态代码块:第一次创建对象调用,再创建其他对象时不再重复调用
第一次访问静态成员,也会调用