class KY2_3 { protected String xm; //具有保护修饰符的成员变量 protected int xh; void setdata(String m,int h) //设置数据的方法 { xm =m; xh = h; } public void print() //输出数据的方法 { System.out.println(xm+", "+xh); } }
时间: 2024-02-10 16:16:12 浏览: 91
好的,根据提供的 KY2_3 类的定义,以下是 KY2_4 类的运行结果:
```
帅零, 12321
郭丽娜, 12345
郭丽娜, 经济管理学院, 信息管理系
```
在 KY2_4 类中,首先创建了 KY2_3 类的对象 p1,调用 setdata() 方法设置了姓名和学号,并调用 print() 方法输出了数据。然后创建了 KY2_4 类的对象 s1,调用 setdata() 方法设置了姓名和学号,并设置了本类的成员变量 xy 和 xi,最后调用 print() 方法输出了数据,并通过访问本类的成员变量 xm、xy 和 xi 进行了输出。
相关问题
编写两个程序文件KY4_3.java和KY4_4.java,实现类的继承。 3.KY4_3.java的代码如下: public class KY4_3 { protected String xm; //姓名 protected int xh; //学号 void setdata(String m,int h) //该方法为姓名和学号赋初始值 { xm =m; xh = h; } public void print() //输出学生的姓名和学号 { System.out.println(xm+", "+xh); } } 4.编译 KY4_3.java,产生类文件 KY4_3.class。 5.编写一个程序文件KY4_4.java。程序功能如下:子类KY4_4继承父类 KY4_3,其不仅具有父类的成员变量 xm(姓名)、xh(学号),还定义了新的成员变量 xy(学院)、xi(系)。在子类KY4_4中重写了父类的方法print(),在该方法中不仅输出学生的姓名和学号,而且还输出学生的学院和系。另外,在子类KY4_4中还定义了一个主方法main。首先,在主方法中创建一个父类 KY4_3的对象f,设置f的姓名为"帅零",学号为"12321",并且调用print()方法输出对象f的姓名和学号。接着,在主方法中创建一个子类 KY4_4的对象s,设置s的姓名为"郭娜",学号为"12345",学院为"经济管理学院",系为"信息管理系",并且调用print()方法输出对象s的姓名,学号,学院和系。
很好,以下是 KY4_3.java 和 KY4_4.java 的代码实现:
KY4_3.java:
```java
public class KY4_3 {
protected String xm; // 姓名
protected int xh; // 学号
void setdata(String m, int h) {
xm = m;
xh = h;
}
public void print() {
System.out.println(xm + ", " + xh);
}
}
```
KY4_4.java:
```java
public class KY4_4 extends KY4_3 {
protected String xy; // 学院
protected String xi; // 系
public void setdata(String m, int h, String y, String i) {
xm = m;
xh = h;
xy = y;
xi = i;
}
public void print() {
System.out.println(xm + ", " + xh + ", " + xy + ", " + xi);
}
public static void main(String[] args) {
KY4_3 f = new KY4_3();
f.setdata("帅零", 12321);
f.print();
KY4_4 s = new KY4_4();
s.setdata("郭娜", 12345, "经济管理学院", "信息管理系");
s.print();
}
}
```
运行 KY4_4.java 会输出以下结果:
```
帅零, 12321
郭娜, 12345, 经济管理学院, 信息管理系
```
用java编写抽象类 `Person` 定义如下: abstract class Person{ String name; char sex; int age; abstract void setData(String name,char sex,int age); abstract String getData(); } 类 `Student` 和类 `Teacher` 均是抽象类 `Person` 的子类,类 `Student` 有成员变量name, sex, age, sID, speciality,其中sID表示学生学号,speciality表示学生专业;类 `Teacher` 有成员变量name, sex, age, tID, department,其中tID表示教师的编号,department表示教师所在部门,请编写类 `Student` 和类 `Teacher` 所需基本功能。
好的,这是一个面向对象的编程问题,我可以帮你解答。
首先,我们需要定义抽象类 `Person`,其中包含 `name`、`sex` 和 `age` 三个成员变量,以及一个抽象的 `setData` 方法用于设置这三个成员变量的值,以及一个抽象的 `getData` 方法用于返回这三个成员变量的值构成的字符串。代码如下:
```java
public abstract class Person {
protected String name;
protected char sex;
protected int age;
public abstract void setData(String name, char sex, int age);
public abstract String getData();
}
```
接下来,我们需要定义 `Student` 类和 `Teacher` 类,它们都是 `Person` 类的子类。在 `Student` 类中,我们需要添加 `sID` 和 `speciality` 两个成员变量,以及实现 `setData` 和 `getData` 方法。在 `Teacher` 类中,我们需要添加 `tID` 和 `department` 两个成员变量,以及实现 `setData` 和 `getData` 方法。代码如下:
```java
public abstract class Student extends Person {
protected int sID;
protected String speciality;
public void setData(String name, char sex, int age, int sID, String speciality) {
this.name = name;
this.sex = sex;
this.age = age;
this.sID = sID;
this.speciality = speciality;
}
public String getData() {
return "Name: " + name + ", Sex: " + sex + ", Age: " + age + ", Student ID: " + sID + ", Speciality: " + speciality;
}
}
public abstract class Teacher extends Person {
protected int tID;
protected String department;
public void setData(String name, char sex, int age, int tID, String department) {
this.name = name;
this.sex = sex;
this.age = age;
this.tID = tID;
this.department = department;
}
public String getData() {
return "Name: " + name + ", Sex: " + sex + ", Age: " + age + ", Teacher ID: " + tID + ", Department: " + department;
}
}
```
在 `Student` 类和 `Teacher` 类中,我们都实现了 `setData` 和 `getData` 方法,其中 `setData` 方法用于设置成员变量的值,`getData` 方法用于返回成员变量的值构成的字符串。由于 `Person` 类是抽象类,所以我们需要在子类中实现它的抽象方法。这样,我们就完成了 `Student` 类和 `Teacher` 类的定义。
阅读全文