java编程

吃小妖的星星 2013-10-14 04:55:02
类Citizen,拥有identityCardNumber(String)、name(String)、gender(char)、birthPlace(String)、birthday(java.util.Date)属性,构造方法Citizen(String identityCardNumber, String name, char gender)、Citizen(String identityCardNumber, String name, char gender, String birthplace, Date birthday),成员方法void printInfo( )可以输出该公民的信息。成员方法work()是一个抽象方法。

类Student是Citizen的子类,拥有studentNumber(String)、major(String)、collegeName(String)等属性。拥有相应的构造方法,并且覆盖printInfo()方法输出学生的信息。其work()方法的具体实现是输出“学习”。

类Worker是Citizen的子类,拥有typeOfWork(String)属性。拥有相应的构造方法,并且覆盖printInfo()方法输出工人的信息。其work()方法的具体实现是输出“做工”。

编写一个测试类,在其main方法中分别创建一个Citizen、Student、Worker对象,并输出其相关信息。
注意:Date是在java.util包中的类,需要用import语句引入。编写调试过程中遇到了什么问题,你是如何解决的?请在程序中用注释加以说明。
我是java新学者,写了老是有错误,求大神代码,谢谢
...全文
265 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
king1076 2013-10-17
  • 打赏
  • 举报
回复
自己动手 才能提升!
寻找IT之路 2013-10-16
  • 打赏
  • 举报
回复
自己动手做,丰衣足食
  • 打赏
  • 举报
回复

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
abstract class Citizen{
	private String identityCardNumber;
	private String name;
	private char gender;
	private String birthPlace;
	private Date birthday;
	
	public String getIdentityCardNumber() {
		return identityCardNumber;
	}
	public void setIdentityCardNumber(String identityCardNumber) {
		this.identityCardNumber = identityCardNumber;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public char getGender() {
		return gender;
	}
	public void setGender(char gender) {
		this.gender = gender;
	}
	public String getBirthPlace() {
		return birthPlace;
	}
	public void setBirthPlace(String birthPlace) {
		this.birthPlace = birthPlace;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	Citizen(String identityCardNumber, String name, char gender){
		this.setIdentityCardNumber(identityCardNumber);
		this.setName(name);
		this.setGender(gender);
	}
	Citizen(String identityCardNumber, String name, char gender, String birthplace, Date birthday){
		this.setIdentityCardNumber(identityCardNumber);
		this.setName(name);
		this.setGender(gender);
		this.setBirthPlace(birthplace);
		this.setBirthday(birthday);
	}
	Citizen(){
		System.out.println("默认构造方法。");
	}
	void printInfo( ){
		System.out.println("该对象的居民身份属性如下:");
		System.out.println("身份证号:"+this.getIdentityCardNumber());
		System.out.println("姓名:"+this.getName());
		System.out.println("性别:"+this.getGender());
		System.out.println("籍贯:"+this.getBirthPlace());
		System.out.println("生日:"+this.getBirthday());
	}
	abstract void work( );
}
class Student extends Citizen{
	private String studentNumber;
	private String major;
	private String collegeName;
	public String getStudentNumber() {
		return studentNumber;
	}
	public void setStudentNumber(String studentNumber) {
		this.studentNumber = studentNumber;
	}
	public String getMajor() {
		return major;
	}
	public void setMajor(String major) {
		this.major = major;
	}
	public String getCollegeName() {
		return collegeName;
	}
	public void setCollegeName(String collegeName) {
		this.collegeName = collegeName;
	}
	Student(String studentNumber,String major,String collegeName){
		this.setStudentNumber(studentNumber);
		this.setMajor(major);
		this.setCollegeName(collegeName);
	}
	void printInfo( ){
		System.out.println("该对象的学生身份属性如下:");
		System.out.println("学号:"+this.getStudentNumber());
		System.out.println("专业:"+this.getMajor());
		System.out.println("学校:"+this.getCollegeName());
		super.printInfo();
	}
	void work(){
		System.out.println("学生的工作是:学习!");
	}
}
class Worker extends Citizen{
	private String typeOfWork;

	public String getTypeOfWork() {
		return typeOfWork;
	}

	public void setTypeOfWork(String typeOfWork) {
		this.typeOfWork = typeOfWork;
	}
	Worker(String typeOfWork){
		this.setTypeOfWork(typeOfWork);
	}
	void printInfo( ){
		System.out.println("该对象的工人身份属性如下:");
		System.out.println("工种:"+this.getTypeOfWork());
		super.printInfo();
	}
	void work(){
		System.out.println("工人的工作是:做工!");
	}
}
public class Test{
	public static void main(String args[]){
		Citizen c1,c2;
		c1 = new Student("S001","计算机","清华大学");
		c1.setIdentityCardNumber("0001");
		c1.setName("张三");
		c1.setGender('男');
		c1.setBirthPlace("北京");
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		Date date1=null;
		try {
			date1 = format.parse("2000-06-08");
		} catch (ParseException e) {
			e.printStackTrace();
		}
		c1.setBirthday(date1);
		c1.printInfo();
		c1.work();
		
		c2 = new Worker("搬运工");
		c2.setIdentityCardNumber("0002");
		c2.setName("李四");
		c2.setGender('女');
		c2.setBirthPlace("南京");
		Date date2=null;
		try {
			date2 = format.parse("2000-08-08");
		} catch (ParseException e) {
			e.printStackTrace();
		}
		c2.setBirthday(date2);
		c2.printInfo();
		c2.work();
	}
}
我也是初学者,一本书还没看完哪,这是我现在的理解,呵呵
吃小妖的星星 2013-10-16
  • 打赏
  • 举报
回复
。。。。。。
eminemslim1986 2013-10-16
  • 打赏
  • 举报
回复
作业??
tony4geek 2013-10-14
  • 打赏
  • 举报
回复
老师作业?

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧