P8
is a —— 继承父类: extends
is like a —— 继承之后新增方法
has a —— 实现接口:Implements ?
use a —— 组合关系?在class A中使用了class B的对象(的服务?)
参考资料:https://blog.csdn.net/likai503819723/article/details/37497477
Pxx
如果没写构造函数,则java会自动加上一个形参位空,方法体也为空的构造函数。但是一旦加上了构造函数,java本身就不添加任何构造函数了。
特别地,如果用户自己写的构造函数有参,但是使用时调用了无参的构造函数(以为java默认添加了或者想当然就去用),就会报找不到构造函数的错误。
Pxx
static final 和构造函数是不能实现多态的,即不能够被覆写(override)。
区别在于,覆写构造函数和final会直接报错,而覆写static不会报错,但是实际运行时可以发现覆写无效。
final:
static:
修改以后,不报错了:
可以看到,new子类对象时,调用的是父类的father构造方法,子类覆写的father(){}已经是子类一个普通的成员方法了。
P45 java的位操作符
P54
java中,逻辑判断条件必须为boolean/Boolean类型的表达式/变量
如if,while。
一般而言,while(a=b)都会报错的(在C/C++)中就不会,但是也有例外:当
a,b本身都是boolean/Boolean类型,如下: