面向对象有三大特性:封装,继承,多态
多态则需要满足三大条件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();
}
}