多态、继承---常量的覆盖和方法的重写

代码如下:

package pkginterface.inheritance;
 public class InterfaceInheritance {
     public static void main(String[] args) {
         Operator[] array={new P1(),new P2(),new P3(),new P4(),new P5(),new P6()};   //多态的一种体现
         for(int i=0;i<array.length;i++)
             array[i].play();
     }
 }
 interface Operator{                //接口
     public static final int MODE=1;
     void play();
 }
 class P1 implements Operator{     //实现
     public void play(){System.out.println("P1 Mode-"+MODE);}
 }
 class P2 implements Operator{
     public static final int MODE=2;
     public void play(){System.out.println("P2 Mode-"+MODE);}
 }
 class P3 extends P1{      		  //继承
     public static final int MODE=3;
 }
 class P4 extends P2{
     public void play(){System.out.println("P4 Mode-"+MODE);}
 }
 class P5 implements Operator{
     int MODE=5;
     public void play(){System.out.println("P5 Mode-"+MODE);}
 }
 class P6 implements Operator{
     String MODE="6";
     public void play(){System.out.println("P6 Mode-"+MODE);}
 } 




结果:

P1 Mode-1
P2 Mode-2
P1 Mode-1
P4 Mode-2
P5 Mode-5
P6 Mode-6


出现上述结果应该明白的几个点:

 

1)实现接口的类,其拥有接口中定义的常量和方法的使用权限(注意:接口中不能定义私有变量)

2)继承  子类继承父类的方法和属性(不包含私有方法和私有变量)

3)方法的调用顺序  如果子类含有和父类相同的方法,先调用子类的方法,然后调用父类的方法(方法的重写)

4)static  定义的变量属于类属性,子类不进行集成

注:p3  处出现【P1 Mode-1】由于继承  p3  调用父类方法,  输出model 为1  原因是父类方法调用的是其自身的常量  

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值