关于JAVA的一道题目的做法 10

项目的名称:班级管理系统中类和对象的编写。项目目的:理解类的基本知识,了解继承的相关基本知识。项目的具体要求:1、定义一个person类类作为父,有属性:姓名,年龄,班级... 项目的名称:班级管理系统中类和对象的编写。
项目目的:
理解类的基本知识,了解继承的相关基本知识。
项目的具体要求:
1、 定义一个person类类作为父,有属性:姓名,年龄,班级,注意这里我们主要面向同一班级,所以班级的名称对于所有对象来说是相同的,思考班级这个成员变量可以加什么关键字。需要写出全部的构造函数,三个成员变量可以写出多少个构造函数呢?定义一个方法,这个方法是下面两个子类都有的,只是子类可以对这个方法进行覆盖重写,比如学生类主要是学习,教师类主要是工作。
2、 定义一个学生类和教师类两个子类,必须定义构造函数,而且必须体现子类构造函数和父类构造函数的继承关系,注意this和super关键字的使用。学生类加上学时数,教师类加上基本工作量。学生类的学时数可以定义为一个符号常量。
3、 必须有主函数,用多个子类的构造函数来创建对象,并指挥对象干活,可以指挥对象调用成员变量和成员方法。
4、 在主函数里面,体现上转型对象的使用。

完成项目后,请大家以文档的方式整理如下问题
1、 构造函数的特征,构造函数的作用,在继承中构造函数又有什么特征,在继承中super和this分别有什么作用
2、 Static关键字和final关键有什么特征和作用。
展开
 我来答
不用沉香换木炭
2015-05-19
知道答主
回答量:20
采纳率:0%
帮助的人:15.2万
展开全部

public abstract class Person {


protected String name;// 姓名

protected int age;// 年龄

protected static String className;// 班级


public Person() {}


public Person(String name) {

this.name = name;

}


public Person(int age) {

this.age = age;

}

public Person(String name, int age) {

this.name = name;

this.age = age;

}

public Person(String name, String className) {

this.name = name;

Person.className = className;

}

public Person(String name, int age, String className) {

this(name, age);

Person.className = className;

}

public abstract void doJob();

}






public class Student extends Person {

private static final int studyHours = 100; // 学时


public static int getStudyhours() {

return studyHours;

}


public void doJob() {

System.out.println("my name is " + this.name);

System.out.println("my age is " + this.age);

System.out.println("my className is " + className);

System.out.println("I am studying");

System.out.println();

}

public Student() {

super();

}

public Student(String name, int age, String className) {

super(name, age, className);

}

public Student(String name, int age) {

super(name, age);

}


}







public class Teacher extends Person {


private int jobNum; // 工作量


public void doJob() {

System.out.println("my name is " + this.name);

System.out.println("my age is " + this.age);

System.out.println("my className is " + className);

System.out.println("my jobNum is " + this.jobNum);

System.out.println("I am teaching");

System.out.println();

}

public Teacher() {

super();

}

public Teacher(String name, int age, String className) {

super(name, age, className);

}


public Teacher(String name, int age, int jobNum) {

super(name, age);

this.jobNum = jobNum;

}


}







public class Main {

public static void main(String[] args) {

Person teacher = new Teacher("teacher", 30, 100);

Person student1 = new Student("student1", 10, "一班");

Person student2 = new Student("student2", 11);

teacher.doJob();

student1.doJob();

student2.doJob();

}

}

追问
这个确定可以用是不是呀
追答
我是按你给的题目来写的,应该可以用吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式