4
一、inheritance
父类:BankAccount,子类: saving accounts and checking accounts:将子类归入到父类,把共有的部分提取到父类里,特有的部分( 属性 和 行为 )作为子类
+CheckingAccount();这是CheckingAccount 子类的构造方法,对其对象进行初始化;子类只能继承父类里 public 和 protected 的方法和变量,不能继承private;对象.方法(变量),但这里对象.name是错的,但是可以通过getName方法来获取name值。(对象是子类用new方法得到的).
二、using inheritance
(extends关键词)对父类的继承
子类创建的对象也是父类的对象,所以可以把 子类对象的值 赋值给 父类对象
SuperClass a = new SuperClass();
SubClass b = new SubClass();
a = b //a,b此处是引用变量,不是对象本身,对象本身不能赋值的
二、访问修饰符
private public protected default
三、构造方法:
class Test{
private int money;
private Test(){
money = 2000;
}
//第二个Test就是构造方法,判断依据:无返回值、无void、方法名和类名same
四、多态性(Polymorphism 重写)(一个方法名,多个版本)
1.方法名一样,参数、参数类型也一样,至于调用哪个方法,由运行过程来决定,编译的时候也决定不了。 2.AccountLedger部分 用toString 方法来读取各个用户(vector)的信息
(1)第一种方法:每次增加新的用户都要重开一个if 语句来写,麻烦
(2)第二种方法:在AccountLedger定义toString方法
这样在用户中直接调用toString方法即可
(3)注意:只有在每个用户中都定义了的方法才能如上做,如果方法只是某一特定用户的,则不能采用格式如上
(4)Downcasting : 强制转换
(Overriding 重写)实现的是运行时的多态性;重写的时候保持一样的格式
3.super关键词 子类与父类中相同的方法体,子类可以用super访问父类的方法