super关键字(使用场景:有继承存在)调用父类的成员
1.super调用构造方法
a)当调用子类无参构造时,系统会自动在子类无参构造前加上super( );表示先调用父类的无参构造。(表示可以省略super关键字),此时子类可以使用this调用构造方法。
b)当父类不存在无参构造时,必须在子类构造方法中使用super(参数)
明确指定调用父类中的哪个有参构造。此时的super不能省略。此时子类不存在this调用构造方法
2.super调用普通方法
super.方法名(参数)表示直接从父类中找到同名方法并调用
3.super调用普通属性
super.属性名表示直接从父类中找到同名属性调用
final关键字-终结器
1.final修饰类
使用final定义的类不能有子类(无法使用extends 继承该类,到该类为止)
JDK中String类就使用final修饰;一旦一个类被final修饰,该类中的所有成员方法默认添加关键字final。
2.final修饰方法
使用final修饰的方法无法被覆写
3.final修饰属性(变量)
final修饰的属性必须在声明时赋值,并且该类属性无法被修改。
java中的常量:一般使用static和final共同使用,常量使用全大写,多个单词间以_分隔,常量必须在声明时赋值
static final int i=10;
数据类型转换*
当使用±*/%运算时,遵循以下原则:
只要两个操作数中有一个是double,另一个也会被转换为double
只要两个操作数中有一个是float,另一个也会被转换为float
只要两个操作数中有一个是long,另一个也会被转换为long
否则操作数为byte、int、char、short,这两个操作数均会被转为int类型。
被final修饰的变量,类型不会发生变化