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

java学习11-面向对象(overload与overwrite)

2013-11-24 20:13 169 查看

成员函数的特点:重载(overload)

特点:在同一个类里面,函数名与返回值相同,参数的类型或者参数的个数不相同。

最有特色的重载函数是:构造函数

例子:
// 无参构造方法
public Person() {
}

// 重载构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}


/**
* 两个整数求和
* @param x
* @param y
* @return
*/
public int sum(int x,int y) {
return x+y;
}

/**
* 三个整数求和
* @param x
* @param y
* @param z
* @return
*/
public float sum(float x,float y,float z) {
return x+y+z;
}


成员函数的特点:覆盖(overwrite)

特点:在继承体系中,子类跟父类的方法名、返回值类型以及参数完全一样,则子类方法 覆盖/复写/重写 overwrite父类方法。

使用时注意:

1. 子类覆盖父类时,必须要保证覆盖方法的权限大于等于被覆盖的方法的权限

2.返回值类型,参数名,参数名以及个数都必须相同

3.覆盖方法有静态修饰是,静态只能覆盖静态,或者被静态覆盖。

应用场景:

继承父类的功能后,想要对已有的功能进行内容的改变,在不改变父类的元代码,功能声明不变,在新代码自定义扩展。

基于父类的内容,扩展自己的内容:

voidshow(){//覆盖父类

System.out.println(“myname”);

super.show();//继承父类

}

例子:
/**
* 抽象类
*
* @author DRAGON
*
*/
class Animal {
void eat() {
}
}

class Dog extends Animal {

@Override
void eat() {//覆盖父类方法,扩展自己的类容
System.out.println("小狗在吃饭");
}

public void Home() {
System.out.println("小狗在看门");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: