您的位置:首页 > 编程语言 > Java开发

java--方法重写与重载

2016-03-02 16:52 567 查看
方法重写

/*方法重写(一般多用在继承上)
定义:它是指子类和父类的关系,子类重写了父类的方法。    两个方法返回值、方法名、参数列表必须完全一致!
出现原因:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。*/

class Person{
private int age;
private String name;
public int getAge() {return age;}
public void setAge(int age) {this.age = age;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public String getInfo(){return "名字是:"+getName()+",年龄是: "+getAge();}
}
class Student extends Person{
private String school;
public void setSchool(String school){ this.school = school;}
public String getSchool(){ return school;}
public String getInfo(){return "名字是:"+getName()+",年龄是: "+getAge()+",学校是:"+school;}//这里重写了父类的方法
}

public class Overiding {
public static void main (String args[]){
Student student = new Student();
Person person = new Person();
person.setAge(40);
person.setName("张三");

student.setAge(23);
student.setName("李四");
student.setSchool("育英中学");

System.out.println(person.getInfo());
System.out.println(student.getInfo());
}

}




方法重载

/*方法重载
定义:在同一个类中相同的方法名,参数不同而已(参数类型不一样或参数数量不一样)
出现原因:
在编程过程中,是要遵守编程规范的,这就要求方法的命名是要有意义的,而有的方法可能面临着,会有不用的参数列表,
这时会用到重载,这样,既可以表示方法的意义,又表示这些方法是相关方法,方便调用。
所以,方法重载,很大程度是为了程序的可读性,即使不用,也是不会妨碍程序运行的。*/

class Car{
public void Myf(int a) {System.out.println("我是方法1");}
public void Myf(String a) {System.out.println("我是方法2");}
public void Myf(String a,String b) {System.out.println("我是方法3");}
}

public class Overloading {
public static void main (String args[]){
Car car1=new Car();
car1.Myf(2);//根据方法里的参数,掉用第一个方法
car1.Myf("中");//根据方法里的参数,掉用第二个方法
car1.Myf("中","国");//根据方法里的参数,掉用第三个方法
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: