首页 > 其他 > 详细

多态的理解

时间:2020-03-27 18:39:34      阅读:53      评论:0      收藏:0      [点我收藏+]
 1 package hadoop;
 2 
 3 public class Test {
 4 
 5     public static void main(String[] args) {
 6         //多态,编译时看左边(下面变量s左边Super这个类),意思是首先看父类的有哪些方法,运行时看右边(Sub),
 7         //意思是s只能点出子类重写过父类的方法或者父类的所有方法,也就是模板在父类那,你必须按模板来实现,子类自己独有的是点出不的
 8         
 9         //例子1
10         Super s=new Sub();
11         s.print(3); //输出的是  Sub:::3,因为父类有这个方法,子类也重写了这个方法,输出的是子类那边的
12         s.printSuper(3);//输出的是  printSuper:::3,可以实现父类的方法
13         //可发现s.printSub点不出来
14         
15         //例子2
16         Sub s1=new Sub();//和(sub)s.xxx一样的,这边上下两个例子看着清楚
17         s1.print(3);//输出的是  Sub:::3
18         s1.printSub(3);//输出的是  printSub:::3
19         s1.printSuper(3);//输出的是  printSuper:::3,sub是super的子类,当然可以点出
20         
21         
22         //ps:多态有啥用?去看看设计模式的简单工厂模式的例子
23     }
24 
25 }
26  class Super{
27     public void print(int i){
28         System.out.println("Super:::"+i);
29     }
30     public void printSuper(int i){
31         System.out.println("printSuper:::"+i);
32     }
33 }
34 class Sub extends Super{
35     public void print(int j){
36         System.out.println("Sub:::"+j);
37     }
38     public void printSub(int j){
39         System.out.println("printSub:::"+j);
40     }
41 }

 

多态的理解

原文:https://www.cnblogs.com/fafafa123/p/12582774.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!