A has-a B 包含(组合 聚合 关联)
一个类的对象有另一个类的对象作为属性
组合——-相当于人和大脑 人和心脏的关系
整体和部分的关系 不可分割 要出现都出现 要消亡都消亡
聚合——-汽车和轮子的关系 电脑和主板
整体和部分的关系 可以分割 创建时有可能是分开的
关联——-人有汽车 人有电脑
整体和部分的关系 可以分割 不是一开始就有的 是后来形成在一起的
package contains;//package和import同时出现的话要先写package//且package只能写一个 import可以有多个public class Car {//属性public String brand;//汽车品牌public String type;//型号public String color;//颜色public Wheel wheel;//车有轮子---->包含关系//构造方法public Car(){}public Car(String brand,String type,String color,Wheel wheel){this.brand = brand;this.type = type;this.color = color;this.wheel = wheel;}//方法public void showCar(){System.out.println("这是一辆"+brand+"牌"+type+"型号"+color+"的小汽车");System.out.println("车上搭载着"+wheel.brand+"牌的"+wheel.size+"尺寸"+wheel.color+"的车轮");//空对象不要紧 但是空对象不能拿去用wheel.run();//方法一定是对象调用的 谁的方法谁来调用 车轮的方法肯定是车轮的对象来调用 这行代码可以放在任何位置}}
package contains;public class Wheel {//属性public String brand;//品牌public int size;//尺寸public String color;//颜色//构造方法public Wheel(){}public Wheel(String brand,int size,String color){this.brand = brand;this.size = size;this.color = color;}//方法public void run(){System.out.println("汽车能跑");}}
package contains;public class RunMain {public static void main(String[] args){Car c = new Car("宝马","A4l","宝石蓝",new Wheel("宝马自制",400,"黑色"));c.showCar();//展示汽车}}
