本帖最后由 林康春 于 2012-7-5 00:15 编辑
函数的重载:(Overload)
函数名相同,参数列表不同的一类方法称之为函数的重载。如:构造函数。
参数列表不同:
1、个数不同
2、类型不同
3、顺序不同
函数的重写:(Override)
当子类的继承了父类的资源,感觉父类的方法不能满足子类的需求时,可以将父类的同名的方法进行重写。
特点:
1、方法名必须一致
2、返回值类型必须一致(void)
3、参数列表必须一致
4、如果子类重写了父类的方法,那么子类的对象调用该方法时,一定调用的是子类重写过后的方法
5、子类重写的方法的修饰符一定要大于等于父类的方法的修饰符号
6、子类重写父类带返回类型的函数的时候,子类重写函数的返回值类型应该和父类一致或
是父类返回值类型的子类。
对于第6点,现在举个例子说明:
注意看红色的部分
class A{
}
class B extends A
{
}
// 描述一个员工类和经理类
class Employee
{
// 属性
public String name;
public String id;
// 方法
public void work(){
System.out.println("办公自动化...");
}
public A getA(){
System.out.println("Employee getA()");
return new A();
}
}
class Manager extends Employee
{
public void work(){
System.out.println("做管理...");
}
public B getA(){
System.out.println("Manager getA()");
return new B();//这个返回的类型必须是上面那个的子类或者和它一致
}
}
|