第一次发表博客,有不足之处,望各位指点。
重载:
必须具有不同的参数列表; 可以有不同的返回类型;可以有不同的访问修饰符;可以抛出不同的异常。类中多态性的表现。
重写:
父类与子类之间的多态性;返回类型、参数列表必须与被重写的方法相同,否则不能称其为重写,访问修饰符的限制一定要大于等于被重写方法的访问修饰符;重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常
构造方法可以被重载,但不能被重写
这里演示equals()方法的重写
public class Student {
private String stuClass; //班级
private String stuName; //姓名
public Student(){
super();
}
public Student(String stuClass,String stuName){ //构造方法的重载
super();
this.stuClass=stuClass;
this.stuName= stuName;
}
//get、set方法
public String getStuClass() {
return stuClass;
}
public void setStuClass(String stuClass) {
this.stuClass = stuClass;
}
public String getStuName() {
return stuName;
}
public void seStuName(String stuName) {
this.stuName = stuName;
}
//重写equals方法
@override
public boolean equals(Object obj) {
Student s = (Student)obj;
if(this.stuClass.equals(s.stuClass)){
return true;
}else{
return false;
}
}
//测试类
public class Test{
public static void main(String[] args){
Student stu = new Student();
Student stu1 = new Student();
stu.setStuClass("一班");
stu.setStuName("张三");
stu1.setStuName("李四");
stu1.setStuClass("二班");
System.out.println(stu.equals(stu1));
}
}