//创建一个父类
class Person{
//声明变量
private String name;
private char sex;
private int age;
//构造有参数的方法
public Person(String name,char sex,int age) {
this.name=name;
this.sex=sex;
this.age=age;
}
//构造无参数的方法
public Person() {
}
//重写toString方法返回字符串
public String toString() {
return name+","+sex+","+age;
}
//使用equals方法判断两个学生是否相等
public boolean equals(Student student) {
if(this.name==student.getName() && sex==sex && age==age) {
return true;
}
else {
return false;
}
}
//用get方法获取变量
public String getName() {
return name;
}
public String getSex() {
return name;
}
public String getAge() {
return name;
}
}
//创建一个Student子类继承父类Person
class Student extends Person{
//声明变量
private long number;
private int phi,eng,comp;
//构造有参数的方法
public Student(String name,char sex,int age,long number,int phi,int eng,int comp) {
super(name, sex, age);
this.number=number;
this.phi=phi;
this.eng=eng;
this.comp=comp;
}
//构造无参方法
public Student() {
}
//写成员方法求得平均分
public double aver() {
return (phi+eng+comp)/3;
}
//写成员方法求最大分
public int max() {
return phi>eng?(phi>comp?phi:comp):(eng>comp?eng:comp);
}
//写成员方法求最低分
public int min() {
return phi<eng?(phi<comp?phi:comp):(eng<comp?eng:comp);
}
//重写toString方法返回所需字符串
public String toString() {
return "学号:"+number+" "+"姓名:"+getName()+" "+"性别:"+getSex()+" "+"年龄:"+getAge()+" "+"平均分:"+aver()+" "+"最高分:"+max()+" "+"最低分:"+min();
}
//用equals方法判断两个学生是否相等
public boolean equals(Student student) {
if(getName() == student.getName() && getSex()==student.getSex() && getAge() == student.getAge() && number==number) {
return true;
}
else {
return false;
}
}
}
//主类
public class SSS {
//主方法 程序入口
public static void main(String[] args) {
//声明父类变量指向子类对象
Person s1=new Student();
Person s2=new Student();
//判断两个学生是否相等
System.out.println(s1.equals(s2));
}
}