大家面试的时候经常会遇到关于多态类型的题目,我也是之前对这块很模糊,然后这几天才拿出时间来好生学习了一下。多态真的是博大精深啊,这是我看到的一篇帖子,讲的非常好,希望给大家一点帮助。建议大家多看几次,然后把代码粘下来去亲自试一下。
看到一个很好的例子:
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 class Test {
public static void main(String[] args) {
Wine a = new JNC();
a.fun1();
}
}
-------------------------------------------------
Output:
Wine 的Fun.....
JNC 的Fun2...
这里分享一下我的思路,针对与我链接上面的第五题,希望大家自己去验证一下(写的比较简单,大家见谅)
https://blog.youkuaiyun.com/free4294/article/details/39054791