关键字
- public,protected,package-private,private
- 访问控制(Access Control):Java中有4个级别的访问权限,从高到低如下所示
- public:在任何地方都是可见的
- protected:仅在自己的包中、自己的子类(包含其他包)中可见
- 无修饰符/默认修饰符(package-private):仅在自己的包中可见
- private:仅在自己的类中可见
- static
- 常用来修饰类的成员:成员变量,方法,嵌套类
- 成员变量
- 被static修饰:类变量,静态变量,静态字段
- 在程序运行过程中只占用一份固定的内存(存储在方法区)
- 可以通过实例、类访问
- 没有被static修改:实例变量
- 在每个实例内部都有一份内存
- 只能通过实例访问,不可以通过类访问
- 被static修饰:类变量,静态变量,静态字段
- 方法
- 被static修饰:类方法,静态方法
- 内部不能使用this
- 未被static修饰:实例方法
- 只能使用实例访问
- 被static修饰:类方法,静态方法
- final
- 被final修饰的类:不能被继承
- 被final修饰的方法:不能被重写
- 被final修饰的属性:只能赋值一次
- 常量(constant)
- 编译器优化:编译时就能确定值的,会直接替换;称为编译时常量
- extends
- 继承使用
- Override
- 方法重写(Override)
- 子类的方法签名与父类一样。也叫做覆盖,重写
- 子类override的方法权限必须≥父类的方法权限
- 子类override的方法返回值类型必须≤父类的方法返回值类型
- 方法重写(Override)
- SuppressWarnings
- @关键字(值),用于把关键字和值传递给编译器,更精确低控制编译器的动作。关键字都是随技术、框架、编译器的不同而不同,含义也不同、数量不定。可以由子技术或开发者扩充。
- @SuppressWarnings(“警告类别”),作用:让编译器不生成警告信息;
- @SuppressWarnings({“警告类别”,“警告类别”})
- 比如:@SuppressWarnings(“unused”) 所有unused的警告不会再报了
- @关键字(值),用于把关键字和值传递给编译器,更精确低控制编译器的动作。关键字都是随技术、框架、编译器的不同而不同,含义也不同、数量不定。可以由子技术或开发者扩充。
- Abstract
- 抽象类:被abstract修饰的类
- 可以定义抽象方法
- 不能实例化,但可以自定义构造方法
- 子类必须实现抽象父类中的所有抽象方法(除非子类也是一个抽象类)
- 可以像非抽象类一样定义成员变量、常量、嵌套类型、初始化块、非抽象方法等
- 也就是,抽象类也可以完全不定义抽象方法
- 抽象类:被abstract修饰的类
后续。。。。