Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 2.5 方法与函数

2.5 方法与函数

方法的基本概念

方法是Java中用于封装特定功能的代码块,通过方法可以实现代码的复用和模块化设计。一个方法包含以下组成部分:

  • 访问修饰符:控制方法的可见性(public/protected/private/default)
  • 返回值类型:方法执行后返回的数据类型(void表示无返回值)
  • 方法名:遵循驼峰命名规范
  • 参数列表:传入方法的参数,多个参数用逗号分隔
  • 方法体:包含具体执行逻辑的代码块
// 方法定义示例
public int addNumbers(int a, int b) {
    return a + b;
}

方法的分类

  1. 实例方法:属于对象实例,需要通过对象调用
  2. 静态方法:使用static修饰,属于类本身
  3. 构造方法:用于创建对象时初始化
  4. 抽象方法:只有声明没有实现(在抽象类/接口中)

方法参数传递

Java中的参数传递是值传递:

  • 基本类型:传递值的副本
  • 引用类型:传递引用的副本(对象地址)
void modifyPrimitive(int num) {
    num = 100;  // 不影响原始值
}

void modifyReference(List<String> list) {
    list.add("new item");  // 会影响原始对象
}

方法重载(Overloading)

在同一个类中允许存在多个同名方法,条件是:

  • 参数类型不同
  • 参数个数不同
  • 参数顺序不同
// 重载示例
public void print(int num) { ... }
public void print(String text) { ... }
public void print(int num, String text) { ... }

递归方法

方法可以调用自身实现递归,必须包含:

  1. 递归终止条件
  2. 递归调用语句
// 递归计算阶乘
public int factorial(int n) {
    if (n == 1) return 1;
    return n * factorial(n-1);
}

可变参数(Varargs)

使用...语法支持可变数量的参数:

public int sum(int... numbers) {
    int total = 0;
    for (int num : numbers) {
        total += num;
    }
    return total;
}

方法的最佳实践

  1. 保持方法单一职责(一个方法只做一件事)
  2. 控制方法长度(建议不超过50行)
  3. 使用有意义的命名
  4. 避免过多的参数(建议不超过5个)
  5. 合理使用注释说明方法用途和参数含义

常见问题

  1. 方法签名冲突:重载时注意参数类型的明确区分
  2. 递归栈溢出:确保递归有终止条件
  3. 参数验证:对关键参数进行null检查或范围验证
  4. 返回值处理:注意基本类型和引用类型返回的区别
Last Updated:: 3/27/25, 12:48 PM