Java方法重载

什么是方法重载?

在同一个类中的多个方法,他们的方法名相同,参数列表不同,这样的情况,称为方法重载。方法重载与返回值的类型无关

参数列表不同

  1. 参数个数不同
  2. 对应位置的参数类型不同

    方法签名:方法名+参数列表

为什么需要方法重载

当实现的功能相同,但具体的实现方式不同时,我们可以通过定义名称相同,参数(条件)不同的方法,来更好的识别和管理类中的方法。

图片说明

基本类型的变量作为参数传递给方法时,传递的是值(复制的值)
引用类型的变量作为参数传递给方法时,传递的是地址值

Java中使用变量的规则

使用变量遵循“就近原则”,如果局部位置有,就使用,
没有就去本类的成员位置找,有就使用,没有就报错

  1. 局部位置
    方法的参数列表 或者 方法体语句(方法内部)
  2. 成员位置
    类中,方法外

成员变量和局部变量的区别

  1. 定义位置
    成员变量:类中,方法中
    局部变量:方法中,或形式参数
  2. 初始化值
    成员变量:有默认初始化值
    局部变量:无默认初始化值,必须先复制再使用
  3. 作用范围
    成员变量:在类中
    局部变量:在方法中
  4. 内存中的位置
    成员变量:堆内存
    局部变量:栈内存
  5. 生命周期
    成员变量:随着对象的创建而存在,随着对象的小时而消失
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

继承

子类拥有父类的非私有成员(成员变量、成员方法)

继承的使用场景

  • 多个类中存在相同的属性和行为时,可以将这些内容提取出来放到一个新类中,让这些类和新类产生父子关系,实现代码复用。

继承的优缺点

  • 优点
    • 1.功能复用
      直接将已有的属性和行为继承过来,实现了功能的雇佣,节省了大量的工作
    • 2.便于扩展新功能
      在已有的功能的基础上,更容易建立,扩展新功能
    • 3.结构清晰,简化认识
      同属于一个继承体系的相关类,他们之间结构层次清晰,简化了人们对代码结构的认识
    • 4.易维护性
      不同类之间的继承关系,让这些食物之间保持一定程度的一致性,大大降低了维护成本
  • 缺点
    • 1.打破封装性
      父类向子类暴露了实现细节,打破了父类对象的封装性
    • 2.高耦合性
      类与类之间紧密结合在一起,相互依赖性高

      程序设计的追求

      高内聚,低耦合
  • 耦合
    两个(或更多)模块相互依赖于对方
  • 内聚
    模块内部结构紧密,独立性强

    Java中使用变量的规则

    遵循“就近原则”,局部位置有就使用
    没有就去本类的成员位置找,有就使用
    没有就去父类的成员位置找,有就使用,没有就报错

    继承关系中的构造方法

    子类所有的构造方法的第一行都有一个默认的super()用来访问父类的无参构造方法
    如果父类没有无参构造,可以通过super(参数)的形式访问父类的带参构造

    方法重写

    • 定义:子类中出现和父类方法定义相同的方法的现象
    • 解释:方法重谢也叫方法的复写、覆盖;方法名、参数列表、返回值类型都相同
    • 注意事项:父类私有方法无法重写;子类方法访问权限不能小于父类方法;子类不能比父类方法抛出更大的异常
    • 使用场景:扩展父类功能;父类功能过时,重写实现父类功能

      四大访问权限修饰符

  • private:强调的是给自己来使用
  • 默认:强调的是给同包下的类来使用
  • protected:强调的是给子类来使用
  • public:强调的是给大家来使用

Java中继承的特点

  • Java只支持类的单继承,支持接口的多继承
  • 私有成员不能继承
  • 构造方法不能继承
  • 类与类之间的“is a”关系
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务