一、

建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求:  汽车能够加速,减速,停车。 再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法

//Auto类
public class Auto {public int tire;//轮胎个数public double weight;//车身重量public String colour;//汽车颜色public double speed;//速度//加速,减速,停车public double speedUp(double up){speed+=up;return speed;}public double speedDown(double down){speed-=down;return speed;}public double stop(){speed=0;return speed;}
}//Car类
public class Car extends Auto{//空调、CDpublic String kongTiao;public String CD;public Car(int tire,double weight,String colour,double speed,String kongTiao, String CD) {super();super.tire =tire;super.weight =weight;super.colour =colour;super.speed =speed;this.kongTiao = kongTiao;this.CD = CD;}public Car() {super();}
}//测试类
public class Test {public static void main(String[] args) {Car car1=new Car(4,200,"红色",200,"开着","关着");Car car2=new Car();car2.tire=4;car2.weight=200;car2.colour="白色";car2.speed=100;car2.kongTiao="关着";car2.CD="关着";System.out.println("汽车1信息:");System.out.println("轮胎个数:"+car1.tire+"\t车身重量:"+car1.weight+"\t汽车颜色:"+car1.colour+"\t速度:"+car1.speed+"\t空调:"+car1.kongTiao+"\tCD:"+car1.CD);System.out.println("汽车2信息:");System.out.println("轮胎个数:"+car2.tire+"\t车身重量:"+car2.weight+"\t汽车颜色:"+car2.colour+"\t速度:"+car2.speed+"\t空调:"+car2.kongTiao+"\tCD:"+car2.CD);car1.speedUp(50);System.out.println("汽车1加速50后,速度:"+car1.speed);car2.speedDown(50);System.out.println("汽车2减速50后,速度:"+car2.speed);car1.stop();System.out.println("汽车1停下后,速度:"+car1.speed);car2.stop();System.out.println("汽车2停下后,速度:"+car1.speed);}
}

二、

写一个Person类,有编号id,姓名name,职位job。

构造方法带三个参数。

方法:

登陆login

注册register

自我介绍talk

写一个学生Student类继承Person类,方法有:考试test

属性有:学费money

写一个老师Teacher类继承Person类,

属性有 工资salary

方法有:工作work

写一个测试类TestPerson,测试学生和老师

学生:姓名-张三  职位-学生  学费-18000

老师:姓名-李四  职位-老师  工资-8000

//Person类
public class Person {//写一个Person类,有编号id,姓名name,职位job。public int id;public String name;public String job;//注册registerpublic void register(Person p,int id,String name,String job){p.id = id;p.name = name;p.job = job;System.out.println("注册成功");}//登陆loginpublic void login(Person[] pArr,int id,String name,String job){boolean dengLu=false;for (int i = 0; i < pArr.length; i++) {if(pArr[i].id==id&&pArr[i].name.equals(name)&&pArr[i].job.equals(job)){System.out.println("登陆成功");dengLu=true;}}if(dengLu==false){System.out.println("登录失败");}}//自我介绍talkpublic void talk(){System.out.println("id号:"+id+"\t姓名:"+name+"\t职位:"+job);}public Person(int id, String name, String job) {super();this.id = id;this.name = name;this.job = job;}public Person() {super();// TODO Auto-generated constructor stub}
}//Student类
public class Student extends Person{
//写一个学生Student类继承Person类,方法有:考试test
//属性有:学费moneypublic double money;public void test(){System.out.println(job+"需要考试");}
}//Teacher类
public class Teacher extends Person{//写一个老师Teacher类继承Person类,//属性有 工资salary //方法有:工作workpublic double salary;public void work(){System.out.println(job+"需要工作");}@Overridepublic void talk() {System.out.println("我是老师");}}//测试类
import java.util.Scanner;public class TestPerson {
//写一个测试类TestPerson,测试学生和老师//学生:姓名-张三  职位-学生  学费-18000//老师:姓名-李四  职位-老师  工资-8000public static void main(String[] args) {Person[] pArr=new Person[2];Student stu=new Student();Teacher tec=new Teacher();stu.name="张三";stu.id=1;stu.job="学生";stu.money=18000;tec.name="李四";tec.id=2;tec.job="老师";tec.salary=8000;pArr[0]=stu;pArr[1]=tec;Scanner sc=new Scanner(System.in);boolean jiXu=true;while(jiXu){System.out.println("请选择功能:1登录\t2注册\t3退出");int xuan=sc.nextInt();switch (xuan) {case 1:System.out.println("开始登录");System.out.print("请输入序号:");int id=sc.nextInt();System.out.print("请输入姓名:");String name=sc.next();System.out.print("请输入职位:");String job=sc.next();pArr[0].login(pArr, id, name, job);break;case 2:Person[] p2=pArr;int num=p2.length;pArr=new Person[num+1];for (int i = 0; i < num; i++) {pArr[i]=p2[i];}pArr[num]=new Person(0,"","");System.out.println("开始注册");System.out.print("请输入序号:");int id2=sc.nextInt();System.out.print("请输入姓名:");String name2=sc.next();System.out.print("请输入职位:");String job2=sc.next();pArr[num].register(pArr[num],id2, name2, job2);break;case 3:jiXu=false;System.out.println("退出成功");break;default:System.out.println("输入错误,请重新输入");}}}
}

运行结果:

三、

定义一个父类:形状类Shapes,里面有两个方法,分别是求面积和周长。

定义一个子类:矩形Rectangle

定义一个子类:三角形 Triagle

定义一个子类:圆 Circle

定义一个测试类:传入圆的半径4 输出周长和面积

传入矩形的长和宽4,5 输出周长和面积

传入三角形三边:3,4,5 输出周长和面积

//父类
public class Shapes {public double area(){//面积double area=0;return area;}public double perimeter(){//周长double perimeter=0;return perimeter;}
}//矩形类
public class Rectangle extends Shapes{public double chang;public double kuan;@Overridepublic double area() {double area=chang*kuan;return area;}@Overridepublic double perimeter() {double perimeter=(chang+kuan)*2;return perimeter;}
}//三角形类
public class Triagle extends Shapes{public double a;public double b;public double c;@Overridepublic double area(){double p=(a+b+c)/2;double area=Math.sqrt(p*(p-a)*(p-b)*(p-c));return area;}@Overridepublic double perimeter() {double perimeter = a+b+c;return perimeter;}
}//圆类
public class Circle extends Shapes{public double r;@Overridepublic double area() {double area=Math.PI*r*r;return area;}@Overridepublic double perimeter() {double perimeter=2*Math.PI*r;return perimeter;}
}//测试类
public class Test {public static void main(String[] args) {Rectangle cfx=new Rectangle();Triagle sjx=new Triagle();Circle yx=new Circle();cfx.chang=4;cfx.kuan=5;yx.r=4;sjx.a=3;sjx.b=4;sjx.c=5;System.out.println("圆形的周长为:"+yx.perimeter()+"\t面积为"+yx.area());System.out.println("矩形的周长为:"+cfx.perimeter()+"\t面积为"+cfx.area());System.out.println("三角形的周长为:"+sjx.perimeter()+"\t面积为"+sjx.area());}
}

运行结果:

JAVA day07:代码作业(继承)相关推荐

  1. JAVA day06:代码作业(封装)

    1.编写程序描述狗 一.练习题目 编写程序描述狗 二.问题描述 使用面向对象的思想,编写自定义描述狗的信息.设定属性包括:品种,年龄,心情,名字:方法包括:叫,跑 三.要求: 1.设置属性的私有访问权 ...

  2. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  3. 渝粤教育 陕西师范大学 《JAVA程序设计》作业

    <JAVA程序设计>作业 一.选择题 编译HelloWorld.java的正确命令是: java HelloWorld.class   B)java HelloWorld.java   C ...

  4. java 命名代码检查-注解处理器

    命名代码检查 根据 <Java 语言规范( 第 3 版 ) > 中第6.8节的要求, Java 程序命名应当符合下列格式的书写规范: 类 ( 或接口 ) : 符合驼式命名法, 首字母大写. ...

  5. JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]

    类的继承 Java只支持单继承,不允许多重继承 - 一个子类只能有一个父类 - 一个父类可以派生出多个子类 这里写图片描述 子类继承了父类,就继承了父类的方法和属性. 在子类中,可以使用父类中定义的方 ...

  6. 求一个简单的java线程代码,Java线程代码的实现方法

    1.继承Thread 声明Thread的子类 运行thread子类的方法 2.创建Thread的匿名子类 3.实现Runnable接口 声明 运行 4.创建实现Runnable接口的匿名类 5.线程名 ...

  7. Java基础小常识-继承-(10)

    一.继承的好处 1.好处: 1)提高了代码的复用性 2)让类与类之间产生了关系,给第三个特征多态提供了前提 2.Java中支持单继承,不直接支持多继承,但对c++中的多继承机制进行了改良. 3.单继承 ...

  8. 2017 《Java技术预备作业》

    Java技术预备作业 1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 通过阅读邹欣老师的博客,我认为我所期望的师生关系应该是友好和睦, 互相尊重,互相关心,互利共赢的关系,学生能够从老师的授 ...

  9. java 接口 实现和继承关系

    一.抽象类 有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化.例如:有一个父类"水果(Fruit)",它 ...

最新文章

  1. CCS中如何新建Platform以及调用
  2. Github高级搜索技巧
  3. 如何屏蔽PHP浏览器头信息X-Powered-By
  4. html视频标签不显示,HTML视频标签无法正确显示视频
  5. 【面经】字节算法面试三面
  6. [OHOS ERROR] clang not found, install it please
  7. C语言规范标准-C99(中文版) 完整版正式发布
  8. ps 套索工具抠图实例
  9. 陶哲轩实分析 习题 12.5.12
  10. 【Leetcode】1905. Count Sub Islands
  11. 老男孩基础搭建环境指南1.0
  12. c语言闯关考试题讲解,程序员面试闯关(二):数据结构考点与细节分析
  13. 【相机标定推导】关于齐次坐标的理解(经典)
  14. 二维火视频菜单,开启沉浸式点餐新体验
  15. 大一学生WEB前端静态网页——旅游网页设计与实现(15页面)
  16. PowerDesign 16.5.5.2 (4734) 汉化包
  17. 大家都能轻松恢复回收站删除文件的方法
  18. 【网络爬虫实战】抓取腾讯视频评论
  19. Selector多路复用器原理
  20. python分割字符串保留分隔符_在Python中,如何分割一个string并保留分隔符?

热门文章

  1. java计算机毕业设计线上远程教学及自主学平台的设计与实现源码+系统+数据库+lw文档
  2. freeswitch 对接IMS
  3. 网页美工设计色彩搭配原则
  4. java失业率高吗,2019中国失业率高吗 失业最快10大行业
  5. 提效 24.3%,看 OA 预算管理系统的低代码开发实践
  6. css 按钮固定在右上交_如何在iPad上交换左右鼠标按钮
  7. 关于VS2019未能正确加载“visual studio commom ide package包”
  8. 饮料换购 (C语言)
  9. Thinkphp历史漏洞复现
  10. 为LTO磁带而生的文件系统LTFS|主线任务—夺回“秋雅“