面向对象有三大特性:封装,继承,多态
多态则需要满足三大条件1要有继承2要有重写3父类引用子类对象
很多人对方法的重载重写有很大疑问,下面我来介绍一下方法的重载重写
方法重载就是方法名称重复,加载参数不同
满足的条件:
class
MethodOverloading {
void
receive(
int
i) {
System.out.println(
"Received one int data"
);
System.out.println(
"i="
+i);
}
void
receive(
float
f) {
System.out.println(
"Received one float data"
);
System.out.println(
"f="
+f);
}
void
receive(String s) {
System.out.println(
"Received a String"
);
System.out.println(
"s="
+s);
}
public
static
void
main(String [] args){
MethodOverloading m =
new
MethodOverloading();
m.receive(
3456
);
m.receive(
34
.56f);
m.receive(
"方法重载"
);
}
}
public class Wine {
public void fun1(){
System.out.println("Wine 的Fun.....");
fun2();
}
public void fun2(){
System.out.println("Wine 的Fun2...");
}
}
public class JNC extends Wine{
/**
* @desc 子类重载父类方法
* 父类中不存在该方法,向上转型后,父类是不能引用该方法的
* @param a
* @return void
*/
public void fun1(String a){
System.out.println("JNC 的 Fun1...");
fun2();
}
/**
* 子类重写父类方法
* 指向子类的父类引用调用fun2时,必定是调用该方法
*/
public void fun2(){
System.out.println("JNC 的Fun2...");
}
public static void main(String[] args) {
Wine a = new JNC();
a.fun1();
}
}