Java实现(5)教师类和学生类分别编写打招呼类:教师输出内容:大家好,我是XXX系 XXX专业教师,工号是XXX。学生输出内容:大家好,我叫XXX,是XXX系XXX 专业XXX 班的学生!编写测试类,在测试类中写一个自我介绍的方法,将教师或学生对象作为入参,调用各自的打招呼方法; (6)定义一个接口,设计实现5中的功能;
时间: 2024-01-20 15:03:13 浏览: 30
好的,我来回答你的问题。
首先,这是一个Java编程问题,需要编写教师类和学生类,以及一个打招呼的类,并在测试类中进行调用。下面是代码实现:
教师类:
```
public class Teacher {
private String name;
private String department;
private String major;
private String id;
public Teacher(String name, String department, String major, String id) {
this.name = name;
this.department = department;
this.major = major;
this.id = id;
}
public void hello() {
System.out.println("大家好,我是" + this.department + "系" + this.major + "专业教师,工号是" + this.id + "。");
}
}
```
学生类:
```
public class Student {
private String name;
private String department;
private String major;
private String className;
public Student(String name, String department, String major, String className) {
this.name = name;
this.department = department;
this.major = major;
this.className = className;
}
public void hello() {
System.out.println("大家好,我叫" + this.name + ",是" + this.department + "系" + this.major + "专业" + this.className + "班的学生!");
}
}
```
打招呼类:
```
public class Greeting {
public static void introduce(Object obj) {
if (obj instanceof Teacher) {
((Teacher) obj).hello();
} else if (obj instanceof Student) {
((Student) obj).hello();
}
}
}
```
测试类:
```
public class Test {
public static void main(String[] args) {
Teacher teacher = new Teacher("张三", "计算机科学与技术", "软件工程", "1001");
Greeting.introduce(teacher);
Student student = new Student("李四", "计算机科学与技术", "软件工程", "1班");
Greeting.introduce(student);
}
}
```
运行结果:
```
大家好,我是计算机科学与技术系软件工程专业教师,工号是1001。
大家好,我叫李四,是计算机科学与技术系软件工程专业1班的学生!
```
其次,关于第二个问题,你可以定义一个接口,例如IGreeting,然后在教师类和学生类中实现该接口。代码如下:
接口:
```
public interface IGreeting {
void hello();
}
```
教师类:
```
public class Teacher implements IGreeting {
private String name;
private String department;
private String major;
private String id;
public Teacher(String name, String department, String major, String id) {
this.name = name;
this.department = department;
this.major = major;
this.id = id;
}
@Override
public void hello() {
System.out.println("大家好,我是" + this.department + "系" + this.major + "专业教师,工号是" + this.id + "。");
}
}
```
学生类:
```
public class Student implements IGreeting {
private String name;
private String department;
private String major;
private String className;
public Student(String name, String department, String major, String className) {
this.name = name;
this.department = department;
this.major = major;
this.className = className;
}
@Override
public void hello() {
System.out.println("大家好,我叫" + this.name + ",是" + this.department + "系" + this.major + "专业" + this.className + "班的学生!");
}
}
```
测试类:
```
public class Test {
public static void main(String[] args) {
IGreeting teacher = new Teacher("张三", "计算机科学与技术", "软件工程", "1001");
teacher.hello();
IGreeting student = new Student("李四", "计算机科学与技术", "软件工程", "1班");
student.hello();
}
}
```
运行结果与之前相同。