组合关系 ,继承关系,代理关系
组合关系
组合关系概念
在类型A中的成员变量的类型是类型B时,A与B就是组合关系
也就是说类A中有B类型的成员变量
class A{
B b;
}
/** * 宠物类 */ public class Pet { // 宠物名 public String name; // 宠物颜色 public String color; public Pet() { } public Pet(String name, String color) { super(); this.name = name; this.color = color; } } /** * 人类 */ public class Person { // 姓名 private String name; // 年龄 private int age; // 宠物 //组合关系人类里面有宠物类成员 private Pet pet; public Person() { } public Person(String name, int age, Pet pet) { this.name = name; this.age = age; this.pet = pet; } // 普通方法 public void show() { System.out.println("我的姓名:" + this.name + ",我的年龄:" + this.age); System.out.println("我的宠物名:" + this.pet.name + ",我的宠物颜色:" + this.pet.color); } } /* * 测试类 */ public class Demo01 { public static void main(String[] args) { // 创建宠物对象 Pet pet = new Pet("旺财","黄色"); // 创建Person对象 Person p = new Person("jack",23,pet); // 调用show方法 p.show(); } }
继承关系
继承关系概念
是面向对象的3大特征之一 ,是类与类关系的一种,即子类是父类的一种
继承的好处
提高代码的复用性
提高代码的扩展性
为多态提供前提条件
继承的特点
子类拥有父类的除构造方法外的所有成员,包括成员变量和成员方法
子类可以直接访问父类非私有的成员,私有成员只能通过定义方法来访问如getter&setter方法
子类可以定义自己的成员
子类可以重写父类的方法
子类可以间接调用父类的构造方法,但不能继承,更不能重写,因为构造方法名字必然不同。
继承的注意事项
Java中继承只能是单继承,不能多继承,但可以多层继承,记住是多层继承
继承需知
在Java中所有类都直接或间接继承Object类,即Object类是所有类的父类