publicclassDriver{privateString name;publicStringgetName(){return name;}publicvoidsetName(String name){this.name = name;}publicvoiddrive(Car car){
car.speak();
car.start();
car.run();
car.stop();}/**
* 成员内部类Benz
*/classBenzimplementsCar{privateString model;privatedouble price;privateString color;publicStringgetModel(){return model;}publicvoidsetModel(String model){this.model = model;}publicdoublegetPrice(){return price;}publicvoidsetPrice(double price){this.price = price;}publicStringgetColor(){return color;}publicvoidsetColor(String color){this.color = color;}@Overridepublicvoidstart(){System.out.println("奔驰["+ model +"]起步……");}@Overridepublicvoidrun(){System.out.println("奔驰["+ model +"]行驶……");}@Overridepublicvoidstop(){System.out.println("奔驰["+ model +"]停止……");}publicvoidspeak(){System.out.println(color +"色奔驰["+ model +"]单价:"+ price +"万~");}}}
3、创建测试司机类
publicclassTestDriver{publicstaticvoidmain(String[] args){// 创建司机对象(外部类)Driver driver =newDriver();// 设置司机对象属性
driver.setName("广子");// 基于司机对象(外部类对象)创建奔驰对象(内部类对象)Driver.Benz benz = driver.newBenz();// 设置奔驰对象属性
benz.setModel("梅赛德斯-AMG A 35 L 4MATIC");
benz.setPrice(45);
benz.setColor("粉");// 调用司机对象的驾驶方法
driver.drive(benz);System.out.println("==========================");// 司机驾驶宝马车(采用)
driver.drive(newCar(){privateString model ="全新BMW Z4敞篷跑车";privatedouble price =55;privateString color ="红";@Overridepublicvoidstart(){System.out.println("宝马["+ model +"]起步……");}@Overridepublicvoidrun(){System.out.println("宝马["+ model +"]行驶……");}@Overridepublicvoidstop(){System.out.println("宝马["+ model +"]停止……");}publicvoidspeak(){System.out.println(color +"色宝马["+ model +"]单价:"+ price +"万~");}});}}