一、实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。具体要求如下:

(1)Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型);

(2)Employee类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(String类型);

(3)Faculty类中的属性有:学位degree(String类型),级别level(String类型);

(4)Staff类中的属性有:职务称号duty(String类型)。

package com.jicheng;

public class Person1 {
//属性
private String name;
private String addrees;
private String telphone;
private String email;

   public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddrees() {
return addrees;
}
public void setAddrees(String addrees) {
this.addrees = addrees;
}
public String getTelphone() {
return telphone;
}
public void setTelphone(String telphone) {
this.telphone = telphone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
} }
package com.jicheng;

public class Employee extends Person1 {
private String office;
private double wage;
private String hiredate;
public String getOffice() {
return office;
}
public void setOffice(String office) {
this.office = office;
}
public double getWage() {
return wage;
}
public void setWage(double wage) {
this.wage = wage;
}
public String getHiredate() {
return hiredate;
}
public void setHiredate(String hiredate) {
this.hiredate = hiredate;
} }
package com.jicheng;

public class Faculty extends Employee {
public String getDegree() {
return degree;
}
public void setDegree(String degree) {
this.degree=degree;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
private String degree;
private String level; }
package com.jicheng;

public class Staff extends Employee{
private String duty; public String getDuty() {
return duty;
} public void setDuty(String duty) {
this.duty = duty;
} }

测试:

package com.jicheng;

public class Test02 {

    public static void main(String[] args) {
Faculty fa=new Faculty();
fa.setName("李凯");
fa.setTelphone("18353367925");
fa.setDegree("博士");
System.out.println("姓名:"+fa.getName()+" 电话:"+fa.getTelphone()+" 学历:"+fa.getDegree()); Staff st=new Staff();
st.setName("韩如月");
st.setWage(10000);
st.setDuty("主管");
System.out.println("姓名:"+st.getName()+" 工资:"+st.getWage()+" 职位:"+st.getDuty()); } }

结果:

二、编写一个Car类,具有String类型的属性品牌,具有功能drive;定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特性。

public class Car {

      //品牌属性
private String pinpa;
private double sudu;
//成员方法
public String getPinpa() {
return pinpa;
} public void setPinpa(String pinpa) {
this.pinpa = pinpa;
} public double getSudu() {
return sudu;
} public void setSudu(double sudu) {
this.sudu = sudu;
} public String drive(){
return "汽车已启动!";
} }
public class Aodi extends Car{
private double jiage;
private String xinghao; public double getJiage() {
return jiage;
} public void setJiage(double jiage) {
this.jiage = jiage;
} public String getXinghao() {
return xinghao;
} public void setXinghao(String xinghao) {
this.xinghao = xinghao;
} public double biansu(){
double sudu=super.getSudu()+20;
return sudu;
} }
public class Benchi extends Aodi{
public double biansu(){
double sudu=super.getSudu()+30;
return sudu;
} }

测试:

public class E {
public static void main(String[] args){
Aodi aodi=new Aodi();
aodi.setJiage(1000000);
aodi.setXinghao("奥迪");
System.out.println("奥迪车的型号是:"+aodi.getXinghao()+" 价格是:"+aodi.getJiage());
System.out.println(aodi.drive());
System.out.println("速度为:"+aodi.biansu());

三、

按要求编写一个Java应用程序:

(1)编写一个矩形类Rect,包含:

两个属性:矩形的宽width;矩形的高height。

两个构造方法:

1.一个带有两个参数的构造方法,用于将width和height属性初化;

2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。

两个方法:

求矩形面积的方法area()

求矩形周长的方法perimeter()

(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

矩形的左上角坐标来标识,包含:

添加两个属性:矩形左上角坐标startX和startY。

两个构造方法:

带4个参数的构造方法,用于对startX、startY、width和height属性

初始化;

不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0

的矩形;

添加一个方法:

判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩

形内,返回true, 否则,返回false。

提示:点在矩形类是指满足条件:

x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)

(3)编写PlainRect类的测试程序

创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

计算并打印输出矩形的面积和周长;

判断点(25.5,13)是否在矩形内,并打印输出相关信息。

package com.jicheng;

public class Rect {
//属性
private double width;
private double height;
//有参构造方法
public Rect(double width, double height) {
super();
this.width = width;
this.height = height;
}
//无参构造方法
public Rect() {
super();
this.width=10;
this.height=10;
}
//get set
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
//面积
public double area()
{
return this.height*this.width;
}
//周长
public double perimeter()
{
return (this.height+this.width)*2;
} }
package com.jicheng;

public class PlainRect extends Rect{
private double startX;
private double startY;
//带参数构造
public PlainRect(double width, double height, double startX, double startY) {
super(width, height);
this.startX = startX;
this.startY = startY;
}
//无参构造方法
public PlainRect() {
super(0,0);
this.startX=0;
this.startY=0;
}
public double getStartX() {
return startX;
}
public void setStartX(double startX) {
this.startX = startX;
}
public double getStartY() {
return startY;
}
public void setStartY(double startY) {
this.startY = startY;
}
/***
* 判断是否在矩形内
* @param x 点x坐标
* @param y 点y坐标
* @return 是否在矩形内
*/
public Boolean isInside(double x,double y)
{
return x>=startX&&x<=(startX+getWidth())&&y<startY&&y>=(startY-getHeight());
} }

测试:

package com.jicheng;

public class Test03 {

    public static void main(String[] args) {
PlainRect pl=new PlainRect(10,20,10,10);
System.out.println("矩形面积="+pl.area());
System.out.println("矩形周长="+pl.perimeter());
System.out.println("测试点是否在矩形内:"+pl.isInside(14, 9)); } }

结果:

Java-继承 共3题的更多相关文章

  1. java继承8个题

    1.实现如下类之间的继承关系,并编写Music类来测试这些类. public class Instrument { public void play(){ System.out.println(&qu ...

  2. JAVA经典算法40题及解答

    JAVA经典算法40题 [程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分 ...

  3. JAVA经典算法40题

    1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3 ...

  4. JAVA经典算法40题(原题+分析)之分析

    JAVA经典算法40题(下) [程序1]   有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   1.程序分析:  ...

  5. JAVA经典算法40题(原题+分析)之原题

    JAVA经典算法40题(上) [程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [程 ...

  6. JAVA经典算法50题(转)

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1]   题目:古典问题:有一对兔子, ...

  7. JAVA经典算法40题面向过程

    JAVA经典算法40题 [程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分 ...

  8. 牛客网刷题(纯java题型 31~60题)

    牛客网刷题(纯java题型 31~60题) 重写Override应该满足"三同一大一小"三同:方法名相同,参数列表相同,返回值相同或者子类的返回值是父类的子类(这一点是经过验证的) ...

  9. 牛客网刷题(纯java题型 1~30题)

    牛客网刷题(纯java题型 1~30题) 应该是先extend,然后implement class test extends A implements B { public static void m ...

  10. Java经典逻辑编程50题

    Java经典逻辑编程50题 2016-11-03 09:29:28      0个评论    来源:Alias_fa的博客    收藏   我要投稿 [程序1] 題目:古典问题:有一对兔子,从出生后第 ...

随机推荐

  1. iis下设置php最大执行时间

    php在执行中常见错误: The FastCGI process exceeded configured request timeout: FastCGI process exceeded confi ...

  2. 1813. M进制数问题

    1813. M进制数问题 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 试用 C++的类来表示一般进制数. 给定 2 ...

  3. CodeForces 743C Vladik and fractions (数论)

    题意:给定n,求三个不同的数满足,2/n = 1/x + 1/y + 1/z. 析:首先1是没有解的,然后其他解都可以这样来表示 1/n, 1/(n+1), 1/(n*(n+1)),这三个解. 代码如 ...

  4. 中国UTM分区

    高斯-克吕格投影是“等角横切圆柱投影”,投影后中央经线保持长度不变,即比例系数为1: UTM投影是“等角横轴割圆柱投影”,圆柱割地球于南纬80度.北纬84度两条等高圈,投影后两条割线上没有变形,中央经 ...

  5. 记录参加“牛津计划.Docker在线黑客松”比赛的过程

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  6. Arcgis API For IOS扩展AGSDynamicLayer新旧版API对比

    AGSDynamicLayer(ForSubclassEyesOnly) Category Reference Description This category organizes the meth ...

  7. A List of Social Tagging Datasets Made Available for Research

    This list is not exhaustive - help expand it! Social Tagging Systems Research Group Source Year Obta ...

  8. Build Android Webrtc Libjingle Library On Ubuntu

    Our team is developing an app to help people solve problem face to face. We choose webrtc protocol a ...

  9. 「2014-3-11」HTTP 初步探究

    网络上存在很多资源,也持续不断地生成新的资源.为了新建.获取和操作这些资源,引来了两个问题:如何定位资源,如何对他们进行操作.第一个问题引申出了 URI / URL 即 uniform resourc ...

  10. :尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 ---> System.BadImageFormatException: 试图加载格式不正确的程序。

    iis有程序池有一个属性  是否启用32位应用程序默认是true的特别注意windows2008 服务器系统iis默认的是true 这样发布一下也是必须要做的