2023-03-08 java 继承,多态(子类重写父类的方法)小要点

1.父类 Cal

public class Cal {
    protected int num1;  //1.01 属性
    protected int num2;

    public Cal(){} //2.01   0个参数的构造器,无返回值

    public Cal(int num1) {  //2.02  1个参数的构造器,无返回值
        this.num1 = num1;
    }

    public Cal(int num1,int num2) {  //2.02两个参数的构造器,无返回值
        this.num1 = num1;
        this.num2 = num2;
    }

    public int getResult(){  //父类的方法
        return 0;
   }
}

2.子类Sub

public class Sub extends Cal {

    public Sub(){};

    public Sub(int num1){    //调用父类的有1个参数的构造器,来造对象
        super(num1);
    };

    public Sub(int num1,int num2){   //调用父类的有两个参数的构造器,来造对象
        super(num1,num2);
    };

    @Override
    public int getResult(){  //这是子类构造的函数方法,重写
        return num1 - num2;
    }
}

3.子类Add

public class Add extends Cal{

    public Add() { }  //2.01 无参构造器,没有返回值
     public Add(int num1) {  //2.02 一个参数的构造器,没有返回值
        this.num1 = num1;
     } 

    public Add(int num1, int num2) {  //2.02  两个参数的构造器
        super(num1, num2);
    }

   @Override
    public int getResult(){
        return  num1 +num2;
   }
}

4.使用

 Cal cal = new Cal(14,15);

        System.out.println("构建父类之后的运行结果:"+cal.getResult());

        Add cal01 = new Add(14,15);//这是重建的Add,我们用的是子类里面的方法
        System.out.println("构建第一个子类之后的运行结果:"+cal01.getResult());

        Sub cal02 = new Sub(59,26);
        System.out.println("构建第二个子类之后的运行结果:"+cal02.getResult());

运行结果:

构建父类之后的运行结果:0
构建第一个子类之后的运行结果:29
构建第二个子类之后的运行结果:33

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值