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

来源:互联网 发布:网络等级保护五级 编辑:程序博客网 时间:2024/06/10 16:54

成员函数的特点:重载(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 {@Overridevoid eat() {//覆盖父类方法,扩展自己的类容System.out.println("小狗在吃饭");}public void Home() {System.out.println("小狗在看门");}}








原创粉丝点击