java代码创建Student接口(即“学生”),它有setData()和getData()方法对“学生”属性name、sex和Snumber(学号)赋值和获得这些属性组成的字符串信息。 创建类Pupil(小学生)实现Student接口,并对自己的属性的成员变量学校、年级设置值,获得它们值所组成的字符串信息。 创建类Cstudents (大学生)实现Student接口,并对自己的属性的成员变量学校、专业设置值,获得它们值所组成的字符串信息。 编写主类创建Pupil和Cstudents 对象,对编写的方法进行测试。
时间: 2024-03-31 09:37:39 浏览: 27
好的,下面是实现上述需求的Java代码:
Student接口:
```java
public interface Student {
void setData(String name, String sex, String sNumber);
String getData();
}
```
Pupil类:
```java
public class Pupil implements Student {
private String name;
private String sex;
private String sNumber;
private String school;
private String grade;
@Override
public void setData(String name, String sex, String sNumber) {
this.name = name;
this.sex = sex;
this.sNumber = sNumber;
}
public void setSchool(String school) {
this.school = school;
}
public void setGrade(String grade) {
this.grade = grade;
}
@Override
public String getData() {
return "姓名:" + name + ",性别:" + sex + ",学号:" + sNumber + ",学校:" + school + ",年级:" + grade;
}
}
```
Cstudents类:
```java
public class Cstudents implements Student {
private String name;
private String sex;
private String sNumber;
private String school;
private String major;
@Override
public void setData(String name, String sex, String sNumber) {
this.name = name;
this.sex = sex;
this.sNumber = sNumber;
}
public void setSchool(String school) {
this.school = school;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String getData() {
return "姓名:" + name + ",性别:" + sex + ",学号:" + sNumber + ",学校:" + school + ",专业:" + major;
}
}
```
测试代码:
```java
public class Test {
public static void main(String[] args) {
// 创建Pupil对象并设置属性值
Pupil pupil = new Pupil();
pupil.setData("小明", "男", "001");
pupil.setSchool("小学");
pupil.setGrade("一年级");
// 输出Pupil对象的信息
System.out.println(pupil.getData());
// 创建Cstudents对象并设置属性值
Cstudents cstudents = new Cstudents();
cstudents.setData("张三", "男", "20210001");
cstudents.setSchool("大学");
cstudents.setMajor("计算机科学与技术");
// 输出Cstudents对象的信息
System.out.println(cstudents.getData());
}
}
```
运行测试代码后,输出结果如下:
```
姓名:小明,性别:男,学号:001,学校:小学,年级:一年级
姓名:张三,性别:男,学号:20210001,学校:大学,专业:计算机科学与技术
```
总体来说,这个例子演示了面向接口编程的思想,并通过实现接口来实现不同类的统一操作。同时,也展示了如何设计良好的接口和实现类,并通过测试代码来验证它们的正确性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)