用Java语言在eclipe当中实现父类与子类的应用【示例1】

用Java语言在eclipe当中实现父类与子类的应用【示例1】,第1张

用Java语言在eclipe当中实现父类与子类的应用【示例1】

先展示一下题目要求

 

 由上述问题可以总结出来父类的属性是工作名称,父类的方法是工作描述;对于子类Testwork类来说,属性是编写的测试用例个数,还有发现的bug数,以及重写的工作描述;对于子类Developmentwork类来说,属性是有效编码行数和未解决的bug数,方法为重写的工作描述。

以下是父类的定义【特别注意:必须是在你已经建的包下面创立work父类以及子类】

public class Work {
	public String workname;//工作名称
	//alt+shift+s+o 生成带参构造
	public Work() {} 
	public Work(String workname) {
		this.workname = workname;
	}
	@Override
	//1.帮助自己检查是否正确的复写了父类中已有的方法
	//2.告诉读代码的人,这是一个复写的方法(复写父类的方法)
	public String toString() {
		return "Work [workname=" + workname + "]";
	}
	void workspeck() {
		System.out.println("父类信息测试:开心工作");
	}
}	

下面是Testwork类的定义

public class Testwork extends Work
//测试类定义【Work类的子类】
{
	public int testnum;//测试用例数
	public int bugnum;//bug数
	
	public Testwork(String workname, int testnum, int bugnum)
	//Test work子类的带参构造方法
	{
		super.workname=workname;
		this.testnum = testnum;
		this.bugnum = bugnum;
	}

	void workspeack()
	//Test work类的无参构造方法
	{
		System.out.println(workname+"信息测试:测试工作的日报是:今天编写了"+testnum+"个测试用例,发现了"+bugnum+"个bug");
	}
}

下面是Developmentwork类的定义

public class Developmentwork extends Work
//研发类的定义【Work类的子类】
{
	public int codenum;//代码行数
	public int notbugnum;//未解决的bug数
	
	public Developmentwork(String workname, int codenum, int notbugnum)
	//Developmentwork子类的带参的构造方法
	{
		super.workname=workname;
		this.codenum = codenum;
		this.notbugnum = notbugnum;
	}

	@Override
	//1.帮助自己检查是否正确的复写了父类中已有的方法
	//2.告诉读代码的人,这是一个复写的方法(复写父类的方法)
	public String toString() {
		return "Developmentwork [codenum=" + codenum + ", notbugnum=" + notbugnum + "]";
	}

	void workspeack()
	//【子类】研发类的无参构造方法
	{
		System.out.println(workname+"信息测试:研发工作的日报是:今天编写了"+codenum+"行代码,目前任然还有"+notbugnum+"个bug问题未解决");
	}
}

下面是Test_work类的定义

public class Test__work {

	public static void main(String[] args) {
		Work w0=new Work();
		w0.workspeck();
		Testwork w1=new Testwork("测试类工作",10,5);
		w1.workspeack();
		
		Developmentwork w2=new Developmentwork("研发类",1000,10);
		w2.workspeack();
		//w2.setWorkname("研发类");
	}
}

下面是代码实现后的界面

 总结:

1.对于父类来说,它里面的属性和方法可以直接被子类调用,但是如果子类中的方法需要重写时,在子类中重写,并不在父类当中写。

2.对于子类来说,可以用super关键字调用父类的属性,子类可以写自己的属性和方法,有时也需要将父类中的方法重写。

3.另附上满足继承关系的子类对象的初始化顺序:

父类静态成员——子类静态成员——父类对象构造——子类对象构造

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4873713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存