//10、在同一个类中,其类对象之间私有成员的访问
//参考教材例4-10,定义一个表示学生信息的Student 类,Student 类中包含表示学生姓名和分数的私有成员变量,定义一个用于比较学生成绩的方法isEqualTo,若学生A的分数比B更高,输出The student A is more excellent!,若学生B的分数比A更高,输出The student B is more excellent!,否则,输出Student A and B are all excellent!
//输出:若创建学生姓名为ZhanSan,分数为91和学生姓名为LiSi,分数为86的两个学生对象,程序的输出结果如下:
//The student ZhanSan is more excellent!
```java
package demo2;
import java.lang.Integer;
import java.util.Scanner;
public class Demo2 {
private int score;
private String name;
public Demo2(String name,int score) {
this.score = score;
this .name = name;
}
public int getScore() {
return score;
}
public void setMessage(String name,int score) {
this.score = score;
this.name = name;
}
public void isEqualTo(Demo2 demo1,Demo2 demo2) {
if(demo1.score!=demo2.score) {
while(demo1.score>demo2.score) {
System.out.println("The Student "+demo1+"is more excellent");
}
System.out.println("the Student"+demo2+"is more excellent");
}
else {
System.out.println("Student "+demo1.name+" and "+demo2.name+" are all excellent");
}
}
public static void main(String[] args) {
Demo2 demo1 = new Demo2("xiaotu",24);
Demo2 demo2 = new Demo2("xiaoyin", 24);
demo1.isEqualTo(demo1,demo2);
}
}
```java
```java
在这里插入代码片
产生的错误有:
构造函数没有返回值,有返回值的构造函数无法使用new 一个对象来调用它。
## **在下面不小心新建了类的无返回值的构造函数:**
运行后的错误结果:
程序实际运行中不是运行了代码:
public void Demo2(String name,int score) {
this.score = score;
this .name = name;
}
而是运行了代码:
```java
``public Demo2(String string, int i) {
}
重要的事情说三遍:
构造函数无返回值
构造函数无返回值
构造函数无返回值