final:
1、final 关键字可以用于修饰成员变量、本地变量、方法以及类。
2、final 成员变量,必须在声明的时初始化或者在构造器中初始化。
3、final 变量不能再次赋值;final 方法不能被重写;final 类不能被继承。
4、在匿名类中,所有变量都必须是 final 变量。
5、接口中,声明的所有变量本身是 final 的。
6、final 和 abstract 这两个关键字是反相关的,final 类就不可能是 abstract 的。
8、按照 Java 编码规范,final 变量就是常量,而且通常常量名要大写。
9、对于集合对象声明为 final 指的是引用不能被更改。
访问修饰符:
成员变量有四种修饰符
private 私有的
package/default 不写
protected 受保护的
public 公共的
例:
maxHP 没有修饰符即代表package/friendly/default
float maxHP |
类和类之间的关系有如下几种:
以Hero为例
自身:指的是Hero自己
同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
其他类:Item这个类,在不同包,也没有继承关系的类
类和类之间的关系有如下几种:
以Hero为例
自身:指的是Hero自己
同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
其他类:Item这个类,在不同包,也没有继承关系的类
1. 属性通常使用private封装起来
2. 方法一般使用public用于被调用
3. 会被子类继承的方法,通常使用protected
匿名内部类:
匿名类,无法在别的地方实例化和使用这个类。
匿名内部类也可用于接口的实现
匿名对象:没有名字的对象。
new ClassName().run();
非匿名对象:含有名字的对象。
ClassName c=new ClassName();
c.run();