首页 > 代码库 > java - day11 - OverRideTest

java - day11 - OverRideTest

  概念

  1、重写:看调用方法的对象:如果调用的是子类对象,则无论父类/子类引用类型,调用的都是重写后的方法,如果想调用父类的方法,用super.方法 来调;如果调用的是父类对象,则调用的是父类重写前的方法。

     2、区别:1)重写--父子类中,完全相同(签名相同)的方法。如何调用,取决于调用对象,而不是引用类型。

                  2)重载--同一个类中,方法名相同,参数列表不同的方法。调用取决于方法结构(有无参数)。  

  测试小程序

 1 package day02;
 2 
 3 /**
 4  * Created by Administrator on 17-5-25.
 5  */
 6 
 7 public class OverRideTest {
 8     public static void main(String[] args){
 9         B n = new B();  //子类对象
10         n.a();
11 
12         A t = new B();  //向上造型,子类对象
13         t.a();
14 
15         A x = new A();  //父类对象
16         x.a();
17     }
18 }
19 
20 class A{
21     void a(){
22         System.out.println("A.a()");
23     }
24 }
25 
26 class B extends A{  //子类override
27     void a(){
28         System.out.println("B.b()");
29     }
30 }

 

java - day11 - OverRideTest