重写和重载

重载:可以理解为旧的词语被赋予新的内容,然后根据语境判断其真实含义;

例子:
小明的妈妈:小明去擦玻璃!
小明: 我擦!
在这个例子中”我擦“可以根据语境的不同的,而有了不同的含义;

在java和c++中,构造器就是重载典型;根据传入参数的不同,创造不同的对象。
public class Tree {
    int height;
    Tree(){
        System.out.println("Planting a seeding");
        height=0;
    }

    Tree(int height) {
        this.height = height;
        System.out.println("Tree:"+height);
    }
    void info(){
        System.out.println("无参info");
    }
    void info(int data){
        System.out.println("有参info");
    }
}
区分重载的方法:就是根据参数列表不同区分(甚至参数顺序可以区分)
void info(){
        System.out.println("无参info");
    }
void info(int data){
      System.out.println("有参info");
    }
void info(int data,int index){
	System.out.println("有参info"+data+":"+index);
}
重载和返回值无关

因为在一个对象中,如果根据返回区分,那么使用对象调用时,怎么实现 对象.方法() 来调用相应的方法

 void info(){
        System.out.println("无参info");
    }
    int info(){
        System.out.println("有参info");
    }
    tree.info();
重写:子类实现父类的同名方法, 并且参数的类型和个数完全相同
重写的标识符:@Override
class woody{
    public void growth(int data){
        System.out.println("woody:"+data);
    }
}
public class Tree extends woody{
    @Override
    public void growth(int data) {
        System.out.println("Tree:"+data);
    }
}
重写和重载的区别:
区别重写重载
返回值返回值一般情况下和父类同名函数一致对返回值无所谓
参数列表相同(个数、类型)不相同
所在位置在子类中同一个类中
权限要求重写方法不能小于父类中的方法无要求
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值