10.2.3 重载与覆盖的实例对比

【实例10.5】重载则是方法的参数不一样,下面是有关重载与覆盖的比较。


01 ///创建一个学生的主运行类

02 ///将三个带不同参数的方法运行

03 public class student4

04 {

05 void print()

06 {

07 System.out.println("这是我的同学");

08 }

09 void print(String name)

10 {

11 System.out.println("这是小明的同学"+name);

12 }

13 public static void main(String[]args)

14 {

15 student4 st=new student4();

16 student5 st1=new student5();

17 st.print();

18 st.print("tom");

19 st1.print();

20 }

21 }

22 ///学生类5继承学生类4

23 class student5 extends student4

24 {

25 void print()

26 {

27 System.out.println("这是小明的同学");

28 System.out.println("他很优秀的");

29 }

30 }


【代码说明】以上程序段主要说明了重载和覆盖的一个区别,“void print()”与“void print(string name)”属于重载,而父类的“print()”和子类的“print()”属于覆盖。

说明 多态有两种表现形式(重载和覆盖)。

【运行效果】


这是我的同学

这是小明的同学tom

这是小明的同学

他很优秀的