目录
一,方法
在Java中,方法是执行特定任务的一组相关语句的集合。它允许将代码组织成模块化的块,每个块执行一个具体的任务。方法是面向对象编程中的重要概念,它们是类的一部分,可以被对象调用来执行操作或获取数据。
Java方法的基本组成部分:
- 修饰符:指定方法的访问级别,例如public、private、protected或default(没有明确声明修饰符时,默认为包私有)。
- 返回类型:方法执行后返回给调用者的数据类型。如果方法不返回任何值,则使用void。
- 方法名:遵循Java命名规则,通常首字母小写,后续单词首字母大写(camelCase)。
- 参数列表:括号内的列表,其中包含传递给方法的值的类型和名称。多个参数之间用逗号分隔。
- 方法体:大括号内的代码块,包含了方法要执行的操作。
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
方法定义示例:
public int addNumbers(int a, int b) {
return a + b;
}
public是修饰符,表示方法可以被任何其他类访问。
int是返回类型,意味着方法将返回一个整数值。
addNumbers是方法名。
(int a, int b)是参数列表,表示方法接受两个整数作为输入。
方法体包含了一个return语句,它返回a和b的和。
方法的调用:
一旦方法被定义,就可以在程序的其他部分通过其名称和适当的参数来调用它:
int result = addNumbers(5, 3);
System.out.println(result); // 输出 8
方法的分类:
根据访问修饰符分类:
- Public - 公共方法,可以从任何地方访问。
- Private - 私有方法,只能在定义它的类内部访问。
- Protected - 受保护方法,可以在同一包内或者子类中访问。
- Default (没有显式修饰符) - 默认访问级别,仅在同一包内可见。
根据是否需要对象分类:
- Instance Methods - 实例方法,需要对象实例才能调用。
- Static Methods - 静态方法,不需要对象实例即可调用,直接通过类名调用。
根据是否有返回值分类:
- Methods with Return Type - 有返回值的方法,如int, String, double等。
- Void Methods - 无返回值的方法,使用void关键字声明。
根据参数传递方式分类:
- Value Passing - 值传递,传入的是变量的值的副本。
- Reference Passing - 引用传递,传入的是对象的引用,因此方法内部对对象的修改会影响到原始对象。
根据是否实现接口方法分类:
- Implemented Methods - 实现了接口中声明的方法。
- Abstract Methods - 抽象方法,只在抽象类中声明,没有具体实现,必须在子类中实现。
根据方法重载和重写分类:
- Overloaded Methods - 重载方法,在同一个类中有相同的名字但参数列表不同。
- Overridden Methods - 重写方法,子类中重新实现父类的方法。
根据是否可变分类:
- Immutable Methods - 不可变方法,不会改变对象状态。
- Mutable Methods - 可变方法,可能改变对象状态。
根据是否同步分类:
- Synchronized Methods - 同步方法,确保线程安全,一次只有一个线程可以执行。
- Non-synchronized Methods - 非同步方法,允许多个线程同时执行。
方法的重载:
定义:一个类的两个方法拥有相同的名字,但是有不同的参数列表。
- Java编译器根据方法签名判断哪个方法应该被调用。
- 方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。
- 重载的方法必须拥有不同的参数列表。
- 你不能仅仅依据修饰符或者返回类型的不同来重载方法。
作用:减轻调用者的负担
示例:
public class Calculator { /**