JAVA - 函数重载和重写
来源:互联网 发布:tv直播软件 编辑:程序博客网 时间:2024/05/20 18:41
JAVA - 函数重载和重写
1. 函数重载(OverLoding)
概念:同名函数具有不同的参数列表。
作用:实现单个类内部的多态性,是静态多态。
注意点:
(1) 参数类型、个数、顺序至少有一个不相同。
(2) 不能通过访问权限、返回类型、抛出的异常进行重载。
2. 函数重写(OverRideing)
概念:在子类中定义某个方法与其父类有相同的名称和参数;子类对象引用或者子类对象的父类引用使用这个方法时,将调用子类中的定义。
作用:在继承中实现多态性,是父类与子类之间多态性的表现。
注意点:
(1) 方法名、参数、返回值必须相同。
(2) 子类方法不能缩小父类方法的访问权限。
(3) 子类方法不能抛出比父类更多的异常(子类可以不抛出异常)。
(4) 被定义为final的方法不能被重写。
3. 判断对象引用能否调用一个方法的原则
(1) 向上转型:子类转型成父类型。
(2) 子类对象引用:方法存在子类定义中则可以调用,否则不可以调用。
(3) 父类对象引用:方法存在父类定义中则可以调用,调用结果根据多态性原则;否则不可以调用。
// Animal类
public class Animal {
public void introduce(){
System.out.println("I am an animal!");
}
}
// Cat类
public class Cat extends Animal {
//重写了父类的introduce,实现了overriding
public void introduce(){
System.out.println("I am a cat!");
}
//实现了Overloading
public void introduce(String name){
System.out.println("I am a cat, My name is : " + name);
}
}
// Dog类
public class Dog extends Animal {
//重写了父类的introduce,实现了overriding
public void introduce(){
System.out.println("I am a dog!");
}
//实现了Overloading
public void introduce(String name){
System.out.println("I am a dog, My name is : " + name);
}
}
// 测试类
public class Test {
public static void main(String[] args) {
//Overriding是父类与子类之间多态性的一个表现
Animal animal1 = new Animal();
Animal animal2 = new Cat();
Animal animal3 = new Dog();
animal1.introduce();
animal2.introduce();
animal3.introduce();
// animal2.introduce("JACK"); 是错误的用法
// animal3.introduce("JACK"); 是错误的用法
//Overloading是在一个类中多态性的体现
Cat cat = new Cat();
cat.introduce();
cat.introduce("JACK");
}
}
- JAVA - 函数重载和重写
- JAVA - 函数重载和重写
- JAVA - 函数重载和重写
- java函数重载和函数重写
- 函数重载和重写
- JAVA 重写和重载
- java 重载和重写
- java 重写和重载
- java重载和重写
- java重写和重载
- java重写和重载
- 【JAVA】重写和重载
- java重载和重写
- Java重载和重写
- java重载和重写
- java重写和重载
- Java重写和重载
- Java重载和重写
- 用C++开发与调用WebService的例子
- unity3D Script 脚本所有编译器属性详解
- java方法的重载与重写
- execl2010数据有效性验证,保存后丢失问题
- 电子书下载
- JAVA - 函数重载和重写
- C++map的基本操作和使用
- 在单例模式下,编写一些实用的数组集合间的转换方法
- Android图片处理(Matrix,ColorMatrix)
- 将Excel报表转成swf
- 编译LOADCEPC.EXE程序
- Runtime ---Objective-C运行时编程指南
- JAVA – 虚函数、抽象函数、抽象类、接口
- IOS开发笔记 - 基于wsdl2objc调用webservice