2019零基础学Android第4课——Java重载和重写

​前言

关于java的基本操作符和控制语句我这块就直接跳过了。太基础的知识大家可以从下面这个链接去学习:

https://www.runoob.com/java/java-tutorial.html

Java重载和重写

初级工程师面试基本上百分百会问的问题之一,我也不知道为啥这两个毫不相关的概念会扯到一块,也不知道是谁发明了这道面试题。

既然有人问了,那我们就针对这块来学习下

 

Java重载

一句话概括什么叫做重载:

方法名相同而形参不同,比如下:

void info(){
print("info method no params");
}
​
void info(String params){
print("info method has params: "+params);
}

简单的说明下编译器是如何区分重载方法的,很简单:每个重载方法需要有一个独一无二的参数类型列表。即使是参数顺序不同,也构成了重载。

如以下:

// 下面的这2个方法参数顺序不同,也构成了重载。
//  但不建议这样写,可维护性很差
void info(int i,String params){
}
​
void info(String params,int i ){
}

 

这里抛出一个问题给大家思考: 根据返回值来区分 重载方法可行么?欢迎留言讨论。

 

重写

重写描述的是发生于父类与子类之间的关系,子类针对父类中的同名方法可以进行重定义,是动态多态性的重要实现方式。

class Parent {
    void foo(double d) {
        // do something
    }
}
​
class Child extends Parent {
    @Override
    void foo(double d){
        
    }
}

重载和重写是两个完全毫无关联的概念,不知道为啥就扯到一块,并成为经常问的面试题,希望大家能够理解这两个概念。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值