1、关于父类引用指向子类对象Father father = new Child();
用父类引用调子类的覆盖方法,运行的就是子类重写的方法。
如果父类和子类中有相同的变量,用父类对象去调用这个变量,优先调用父类的变量。比如父类中a=1,子类中a=2,那么father.a的值为1而不是2
2、关于super和this
如果通过super和this调用构造函数,那么this()或者super()必须放在第一行,否则会报错。
class F {
int a;
F (int a) {
int b = 0;
this.a = a;
}
F () {
// 只能在第一行,前面不能有code
this(1);
}
}
class C extends F {
int b;
C (int b) {
this.b = b;
}
C () {
// 同理,所以super会报错
this(2);
super(1);
}
}
3、关于SQL中BETWEEN
# 包含v1不包含v2
BETWEEN v1 and v2