合成就是包含关系,继承是属于关系,
合成是类中套类,就是在新类中new一个需要导入的对象,然后使用,
继承extends会获得基础类的所有数据成员和方法。private变量是私有的,不能被继承
如果我们想用父类方法,最好的办法是,保持成员变量的私有private,方法要用protected(这个指示符的意义就是可以让继承的类调用父类的方法,还有同一个包里可以互相调用)
我们可以写一个protected方法,用protected方法去条用成员变量。
继承父类的子类,可以被当做是父类的类型
class abc(){
static void aaa(abc a){ //参数是abc类型的
}
}
class abcd extends abc(){
abcd b= new abcd ();//b是一个abcd的类型
abc.aaa(b);调用的aaa方法本来需要的是abc类型,但是b是abcd类型,但是现在可行是因为abcd继承了abc类,子类可以被当做父类的类型传递参数。
}
继承的使用需要谨慎