首页 > 代码库 > 继承0920作业

继承0920作业

第一题:

编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法

中测试类A与类B

 

package com.jicheng0920;public class A {	public void showA()	{		char zimu=‘a‘;		for(int i=0;i<26;i++)		{			System.out.print(zimu+" ");			if(zimu==‘z‘)			{				System.out.println();			}			zimu++;		}			}}package com.jicheng0920;public class B extends A {		public void showA()	{		char zimu=‘A‘;		for(int i=0;i<26;i++)		{			System.out.print(zimu+" ");			zimu++;		}		}}package com.jicheng0920;public class C {	public static void main(String[] args) {		// TODO Auto-generated method stub		A a=new A();		a.showA();		B b=new B();		b.showA();					}}

 

  运行结果:

技术分享

第二题:

实现一个名为Person的类和它的子类EmployeeEmployee有两个子类Faculty

Staff

具体要求如下:

1Person类中的属性有:姓名nameString类型),地址addressString类型),

电话号码telphoneString类型)和电子邮件地址emailString类型)

2Employee类中的属性有:办公室officeString类型),工资wagedouble

类型),受雇日期hiredateString类型)

3Faculty类中的属性有:学位degreeString类型),级别levelString类型)

4Staff类中的属性有:职务称号dutyString类型)

package workhome;public class Person {	//属性	private String name;	private String address;	private String telphone;	private String email;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getAddress() {		return address;	}	public void setAddress(String address) {		this.address = address;	}	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;	}		//方法	public void p1()	{		System.out.println("姓名:"+name+", "+"住址:"+address+", "+"电话:"+telphone+", "+"email:"+email);	}	}package workhome;public class Employee extends Person {		//属性	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;	}		//方法	public void e()	{		super.p1();System.out.println("办公室:"+office+", "+"工资:"+wage+", "+"受雇日期:"+hiredate);	}}package workhome;public class Faculty extends Employee {	private String degree;//学位	private String level;//级别	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;	}	//方法	public void F()	{	super.e();	System.out.println("学位:"+degree+", "+"级别:"+level);	System.out.println();	}}package workhome;public class Staff extends Employee {	private String duty;//职务	public String getDuty() {		return duty;	}	public void setDuty(String duty) {		this.duty = duty;	}	public void S()	{	super.e(); System.out.println("职务:"+duty);	System.out.println();	}}

  

package workhome;

public class testperson0920 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化person类
Person p=new Person();
p.setName("张三");
p.setAddress("淄博张店");
p.setEmail("123456@qq.com");
p.setTelphone("3787110");
p.p1();
//实例化Employee类
Employee E=new Employee();
E.setOffice("汉企401");
E.setHiredate("2016-08-16");
E.setWage(1000);
E.setName("张三");
E.setAddress("淄博张店");
E.setEmail("123456@qq.com");
E.setTelphone("3787110");
E.e();
//实例化Faculty类
Faculty F=new Faculty();
F.setOffice("汉企401");
F.setHiredate("2016-08-16");
F.setWage(1000);
F.setName("张三");
F.setAddress("淄博张店");
F.setEmail("123456@qq.com");
F.setTelphone("3787110");
F.setDegree("博士");
F.setLevel("教育学学士");
F.F();
//实例化Staff类
Staff S=new Staff();
S.setOffice("汉企401");
S.setHiredate("2016-08-16");
S.setWage(1000);
S.setName("张三");
S.setAddress("淄博张店");
S.setEmail("123456@qq.com");
S.setTelphone("3787110");
S.setDuty("教师");
S.S();

}

}


 

 运行结果:

技术分享

第三题:

编写一个Car类,具有String类型的属性品牌,具有功能drive

定义其子类AodiBenchi,具有属性:价格、型号;具有功能:变速;

定义主类E,在其main方法中分别创建AodiBenchi的对象并测试对象的特

性。

package workhome;public class Car {	//属性	private String look;	private String lunzi;	public String getLook() {		return look;	}	public void setLook(String look) {		this.look = look;	}	public String getLunzi() {		return lunzi;	}	public void setLunzi(String lunzi) {		this.lunzi = lunzi;	}	//方法	public void drive()	{		System.out.println();	}	}package workhome;public class Aodi extends Car {	//属性	private String xh;	private double jg;	private double sped=100.0;	public String getXh() {		return xh;	}	public void setXh(String xh) {		this.xh = xh;	}	public double getJg() {		return jg;	}	public void setJg(double jg) {		this.jg = jg;	}	//方法	public double speed(double i)	{		sped+=i;		return sped;	}}package workhome;public class Benchi extends Car {	//属性		private String xh;		private double jg;		private double sped=100;		public String getXh() {			return xh;		}		public void setXh(String xh) {			this.xh = xh;		}		public double getJg() {			return jg;		}		public void setJg(double jg) {			this.jg = jg;		}		//方法		public double speed(double i)		{			sped+=i;			return sped;		}}

package workhome;

public class E

{

public static void main(String[] args)

{
// TODO Auto-generated method stub
//car
Car c=new Car();
c.setLook("正方形");
c.setLunzi("四轮");
//Aodi
Aodi a=new Aodi();
a.setXh("奥迪A8");
a.setJg(10000000);
System.out.println(a.speed(30.0));
//Benchi
Benchi b=new Benchi();
b.setXh("奔驰s07");
b.setJg(9999999);
System.out.println(b.speed(-20.131));
}

}

  运行结果:

技术分享

第四题:

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

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

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

两个构造方法:

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

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

两个方法:

求矩形面积的方法area()

求矩形周长的方法perimeter()

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

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

添加两个属性:矩形左上角坐标startXstartY

两个构造方法:

4个参数的构造方法,用于对startXstartYwidthheight属性

初始化;

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

的矩形;

添加一个方法:

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

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

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

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

3)编写PlainRect类的测试程序

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

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

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

 

package workhome;public class Rect {	//属性	public double width;	public double height;	//构造方法1	Rect(double width,double height)	{		this.width=width;		this.height=height;	}	//构造方法2	Rect()	{		width=10;		height=10;	}	//方法1	public double area()	{		double mj=width*height;		return mj;	}	//方法2		public double perimeter()		{			double zc=2*(width+height);			return zc;		}}package workhome;public class PlainRect extends Rect {	private double startX;//矩形左上角坐标	private double startY;		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;	}	//构造方法1	PlainRect(double startX,double startY,double width,double height)	{		super(width,height);		this.startX=startX;		this.startY=startY;			}	//构造方法2	PlainRect()	{		super();		startX=0;		startY=0;			}	//方法	public boolean isInside(double x,double y)	{		if(x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height))		{			return true;		}		else		{			return false;		}	}}package workhome;public class PlainRecttest {	public static void main(String[] args) {		// TODO Auto-generated method stub		//实例化Rect类		Rect cs1=new Rect();		//实例化PlainRect类		PlainRect cs2=new PlainRect(1,2,20,10);		System.out.println(cs2.area());		System.out.println(cs2.perimeter());		System.out.println(cs2.isInside(25.5,13));	}}

 

  运行结果:

技术分享

 

 

 

 

 

继承0920作业