class FunctionDemo{
public static void main(String[] args){
add(3,4);
add(3.0,4.0);
add(3,4,5);
}
//加法运算,两个整数的和
public static int add(int a, int b){
return a + b;
}
//加法运算,两个小数的和
public static double add(double a, double b){
return a + b;
}
//加法运算,三个整数的和
public static int add(int a, int b,int c){
return add(a,b) + c;
}
}
package com.text2;
class Person {
private String name;
private int age;
public void setName(String name){
this.name=name;
}
public void setAge(int age) {
this.age=age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getInfo() {
return "Name: "+ name + "\n" +"age: "+ age;
}
}
class Student extends Person {
private String school;
public String getSchool() {
return school;
}
public void setSchool(String school){
this.school =school;
}
public String getInfo() {
return "Name: "+ getName() + "\n" + "age: " + getAge()
+ "\n" + "school: "+ school;
}
}
public class TestOverWrite {
public static void main(String arg[]){
Student student = new Student();
Person person = new Person();
person.setName("none");
person.setAge(1000);
student.setName("John");
student.setAge(18);
student.setSchool("SCH");
System.out.println(person.getInfo());
System.out.println(student.getInfo());
}
}
两者的区别:
个人理解为:
重写必须有继承,而重载 不需要。
重写的方法名称相同,参数类型兼容和数目相同,而重载只有方法名称相同,参数类型和数目是不一样的。
重写是有权限的,修饰符受基类方法的 限制。而重载和修饰符没有关系。