4. Java 方法

4. 方法

  • Java 方法是语句的集合,它们在一起处理一件事情。
  • 方法包含于类和对象中
  • 方法在程序中被创建,在其他地方被调用

4.1 方法的定义

  • Java 的方法类似于其他语言的函数,用一段完成特定任务的代码片段。
修饰符 返回值类型 方法名(参数类型 参数名){
     方法体
     ...
}

4.1.1 方法的四种类型

  1. 无参无返回值的方法
  2. 有参无返回值
  3. 无参有返回值
  4. 有参有返回值

4.2方法的重载

  • 重载:同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。(编译期)
  • 方法重载的规则:
    1. 方法名必须相同
    2. 参数类型、个数、顺序不相同
    3. 返回值和修饰符可不相同

4.3 方法的重写

  • override - 重写

  • 重写需要继承关系

  • 静态方法是与类一起加载的,与重写无关。非静态方法子类可重写父类的方法

  • 重写的关键词只能是 public

  • 重写 方法名必须相同,参数列表必须相同

  • 修饰符:范围可以扩大但不能缩小; public > protected > default > private

  • 抛出的异常:范围可缩小但不能扩大

  • 重写 子类的方法与父类的方法必须一致,方法体不同

  • 为什么需要重写

    1. 父类的方法无法满足子类的需求

重载和重写的区别

  • 重载是同方法名、参数的个数/类型/顺序不同、返回值和修饰符也可不同

  • 重写:发生在运行期,是子类对父类允许访问的方法种方法体的重新实现。(内部逻辑)

    • 返回值、方法名、参数类型必须相同
    • 抛出的异常范围小于等于父类,访问修饰符不能大于等于父类
    • 构造方法无法被重写

4.4 可变参数

  • 一个方法中,只能有一个可变参数,必须在参数的末位

4.5 递归

  • 自己调用自己,并给自己一个出口

4.6 Java 是 值传递

Java 程序设计语言是采用按值传递。方法得到的是所有参数值的一个拷贝,它无法修改传递给它的任何参数的内容。

Java种方法参数的使用情况:

  • 一个方法不能修改一个基本数据类型的参数
  • 一个方法可以改变一个对象参数的状态
  • 一个方法不能让对象参数引用一个新的对象

4.7 深拷贝 和 浅拷贝

浅拷贝:

对基本数据类型进行值传递,对引用数据类型进行引用传递

深拷贝:
对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并赋值其内容

构造方法 可以被重载(overload)不能被重写(override)所以一个类可以有多个构造方法.

posted @ 2020-08-07 10:30  湘北不会输的  阅读(85)  评论(0编辑  收藏  举报