Java继承练习题
第一题
建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求: 汽车能够加速,减速,停车。 再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法
第二题
写一个Person类,有编号id,姓名name,职位job。
构造方法带三个参数。
方法:
登陆login
注册register
自我介绍talk
写一个学生Student类继承Person类,方法有:考试test
属性有:学费money
写一个老师Teacher类继承Person类,
属性有 工资salary
方法有:工作work
写一个测试类TestPerson,测试学生和老师
学生:姓名-张三 职位-学生 学费-18000
老师:姓名-李四 职位-老师 工资-8000
注册、登陆输出就可以,自我介绍输出属性?
第三题
定义一个父类:形状类Shapes,里面有两个方法,分别是求面积和周长。
定义一个子类:矩形Rectangle
定义一个子类:三角形 Triagle
定义一个子类:圆 Circle
定义一个测试类:传入圆的半径4 输出周长和面积
传入矩形的长和宽4,5 输出周长和面积
传入三角形三边:3,4,5 输出周长和面积
第一题: package homework; public class Auto { protected int gears; protected String color; protected double weight; protected double speed; public Auto() { this.gears=4; this.color="黄色"; this.weight=200; this.speed=50; } public Auto(int gears, String color, double weight, double speed) { super(); this.gears = gears; this.color = color; this.weight = weight; this.speed = speed; } public void speedUp() { speed+=5; System.out.println("加速至"+speed); } public void speedDown() { speed-=5; System.out.println("减速至"+speed); } public void stop() { speed=0; System.out.println("汽车停止,速度是"+speed); } } package homework; public class Car extends Auto{ protected String kongtiao; protected String CD; public Car() { super(); kongtiao="品牌1空调"; CD="CD1"; } public Car(int gears, String color, double weight, double speed,String kongtiao, String cD) { super(gears, color, weight, speed); this.kongtiao = kongtiao; CD = cD; } @Override public void speedUp(){ super.speed+=10; System.out.println("加速至"+speed); } @Override public void speedDown() { speed-=10; System.out.println("减速至"+speed); } public void information() { System.out.println("当前是"+color+"的"+gears+"轮"+color+"的重"+weight+"的配有"+kongtiao+"和"+CD+"的车子,当前时速为"+speed); } } package homework; public class TestAuto { public static void main(String[] args) { Car car=new Car(); car.information(); car.speedDown(); car.speedUp(); car.stop(); System.out.println(); Car car2=new Car(3, "白色", 300, 70,"品牌2空调", "CD2"); car2.information(); car2.speedDown(); car2.speedUp(); car.stop(); } } 第二题: package homework; public class Person { protected int id; protected String name; protected String job; public Person(int id, String name, String job) { this.id = id; this.name = name; this.job = job; } public void login() { System.out.println("登陆成功"); } public void register() { System.out.println("注册成功"); } public void talk() { System.out.println("大家好!我是"+name+",编号是"+id+",职位是"+job); } } package homework; public class Student extends Person { protected double money; public Student(int id, String name, String job, double money) { super(id, name, job); this.money = money; } public void test() { System.out.println("我在考试"); } public void information() { System.out.println("姓名-"+name+"\t职位-"+job+"\t学费"+money); } } package homework; public class Teacher extends Person{ protected double salary; public Teacher(int id, String name, String job, double salary) { super(id, name, job); this.salary = salary; } public void work() { System.out.println("我在工作"); } public void information() { System.out.println("姓名-"+name+"\t职位-"+job+"\t工资"+salary); } } package homework; public class TestPerson { public static void main(String[] args) { Student stu=new Student(1, "张三", "学生", 18000); stu.login(); stu.register(); stu.talk(); stu.test(); stu.information(); System.out.println(); Teacher tea=new Teacher(2, "张老师", "老师", 8000); tea.login(); tea.register(); tea.talk(); tea.information(); } } 第三题: package homework; public class Shapes { public void area() { System.out.println("求面积"); } public void zhouChang() { System.out.println("求周长"); } } package homework; public class Rectangle extends Shapes { private int chang; private int kuan; public Rectangle(int chang, int kuan) { super(); this.chang = chang; this.kuan = kuan; } @Override public void area() { System.out.println("长方形面积是"+chang*kuan); } @Override public void zhouChang() { System.out.println("长方形周长是"+(chang+kuan)*2); } } package homework; public class Circle extends Shapes{ private int a; public Circle(int a) { super(); this.a = a; } @Override public void area() { System.out.println("圆形面积是"+a*a*Math.PI); } @Override public void zhouChang() { System.out.println("圆形周长是"+a*Math.PI*2); } } package homework; public class Triagle extends Shapes { private int a; private int b; private int c; public Triagle(int a, int b, int c) { super(); this.a = a; this.b = b; this.c = c; } public void area() { System.out.println("三角形面积是"+Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/4); } @Override public void zhouChang() { System.out.println("三角形周长是"+(a+b+c)); } } package homework; public class TestShapes { public static void main(String[] args) { Circle circle=new Circle(1); circle.area(); circle.zhouChang(); Rectangle rectangle=new Rectangle(2, 3); rectangle.area(); rectangle.zhouChang(); Triagle triagle=new Triagle(3, 4, 5); triagle.area(); triagle.zhouChang(); } }