class TransportationFather{ private String color=”银色”;//最好是封装成private类型的,保护好封装性,不要让父类的一些特有的变量,或者方法被子类继承! public String type; public int mileage; public int price; public String name; public int age; public TransportationFather() { // TODO Auto-generated constructor stub } public TransportationFather(String color) { this.color=color; System.out.println(“我是所有的车的母体,我起初的颜色是银色的!”+this.color);//构造器重写,所以上面的空构造器是必须的 } public String getType() { return type; } public void setType(String type) { this.type = type; } public int getMileage() { return mileage; } public void setMileage(int mileage) { this.mileage = mileage; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void drive(){ System.out.println(getName()+”已经”+getAge()+”岁了!它已经跑了”+this.mileage+”公里了!”+”它的型号是:”+getType()+”价格是:”+getPrice()); }
} class Car extends TransportationFather{ public void drive(){ System.out.println(“这是一辆跑了”+getMileage()+”公里的,已经跑了”+getAge()+”年”+”当时买的价格是:”+getPrice()); } public void say(){ System.out.println(“大家好!我是一辆”+getType()+”我的名字是:”+getName()); } } class Bus extends TransportationFather{ public void drive(){ System.out.println(“这是一辆跑了”+getMileage()+”公里的,已经跑了”+getAge()+”年”+”当时买的价格是:”+getPrice()); } public void say(){ System.out.println(“大家好!我是一辆”+getType()+”我的名字是:”+getName()); } } class Tractor extends TransportationFather{ public void drive(){ System.out.println(“这是一辆跑了”+getMileage()+”公里的,已经跑了”+getAge()+”年”+”当时买的价格是:”+getPrice()); } public void say(){ System.out.println(“大家好!我是一辆”+getType()+”我的名字是:”+getName()); } } public class Transportation { public static void main(String[] args){ TransportationFather car=new Car();//上转型,只能调用父类中的方法,变量,其实,父类中不想被继承的变量或者方法应该用private来修饰 car.setAge(10);; car.setMileage(100); car.setName(“小轿车”); car.setPrice(500000); car.setType(“家用的”); car.drive(); Bus bus=new Bus(); bus.setAge(15); bus.setMileage(800); bus.setName(“大客车”); bus.setPrice(600000); bus.setType(“公用的”); bus.drive(); bus.say(); Tractor tractor=new Tractor(); tractor.setAge(20); tractor.setMileage(200); tractor.setPrice(50000); tractor.setType(“农用机”); tractor.setName(“拖拉机”); tractor.drive(); tractor.say();//我主要就是介绍继承和封装的特质,就用了一些特别简单的方法,这样就太浪费代码了,在方法体用形参的方法,更简单。 } } 上面的代码,通过交通工具下的小轿车,和公交车,以及拖拉机来实现继承关系,多态的也在其中,就是同一种行为,不同的人有着不一样的表现方法,就像飞机,就是不一样的交通工具,它是飞的,所以在要定义一个自己的方法,自己太懒了,就是把drive方法重写,跑,变成飞就好。
