静态多态
多态:同一个方法有不同的行为
静态多态:重载的多态在编译的时候已经确定了,所以称之为静态多态。
静态多态: 实现方式,重载; 实现时机:编译时。
重载(overload)的定义:一个类里有2个或者2个以上的方法满足如下条件:
1.方法名相同
2.参数列表不同
对方法的访问修饰符和返回类型都没有要求
比如:
package com.njlife123.qzmall.fz1;
public class Test3 {
public void f(){
}
public void f(int i){
}
public void f(int i,int j){
}
/*public void f(int j,int i){与上边是相同方法
}*/
}
动态多态
Java中的数据类型:
引用数据类型:类、接口、数组。
基本数据类型:八种。
package com.njlife123.qzmall.fz1;
class User{ //自定义类
}
public class Test3 {
/**
* 返回类型和形参均是基本数据类型
*/
public int f1(int i){
return 10;
}
/**
* 返回类型和形参均是引用类型
*/
public String f1(String a){
return "Hello";
}
/**
* 返回类型和形参均是引用类型,自定义类
* @param user
* @return
*/
public User f2(User user){
return new User();
}
public static void main(String[] args) {
int i;//基本数据类型
String str;//引用数据类型
User user;//引用数据类型
String [] strs;//引用数据类型
User [] users;//引用数据类型
}
}
override
定义:父类和子类中存在2个方法,满足如下提交:
1.方法名相同
2.参数列表相同
3.子类方法的返回类型<=父类
假如返回类型是基本类型,要求相同
假如返回类型是引用类型,子类方法的返回类型可以与父类相同,也可以返回父类的返回类型的子类
4.子类方法的可见性>=父类
子类方法抛出的异常<=父类
作者简介:一个有故事的程序员,我的微信号qiushuzhao222,欢迎大家找我聊天,记录你我的故事。