java运算符优先级
口诀:单目乘除位关系,逻辑三目后赋值
运算符 | 描述 | |||
---|---|---|---|---|
单目运算 | + –(负数) ++ -- 等 | |||
乘除 | * / % + - | |||
位 | << >> | |||
关系 | > < >= <= == != | |||
逻辑 | && | & | ^ | |
三目 | A > B ? X : Y | |||
赋值 | = |
类中的初始化顺序
public class Base {
private String baseName = "base";
public Base() {
callName();
}
public void callName() {
System.out.println(baseName);
}
static class Sub extends Base {
private String baseName = "sub";
public void callName() {
System.out.println(baseName);
}
}
public static void main(String[] args) {
Base b = new Sub();
}
}
执行顺序如下:
graph TB
a(初始化父类的参数,此时baseName为父类的)-->b(执行子类重写的callName);
b-->c(输出子类baseName,由于子类此时baseName还没有初始化,所以输出为null)
网友评论