类方法是在类内声明的方法。它们执行特定的操作并且可以访问或修改类属性。
创建(声明)Java 类方法
类方法的声明与用户定义的方法声明相似,不同之处在于类方法是在类内声明的。
类方法通过指定访问修饰符、返回类型、方法名和参数列表来进行声明。
句法
使用以下语法来声明 Java 类方法:
public class 类名 {
修饰符 返回类型 方法名(参数列表) {
}
}
上述语法包括:
-
-
-
-
参数列表 - 参数列表是方法的类型、顺序和数量。这是可选的,方法可以包含零个参数。
-
示例
以下是前面定义的方法 minimum()
的源代码。该方法接收两个参数 n1
和 n2
并返回两者之间的最小值:
class Util {
public int minimum(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
}
访问 Java 类方法
要访问类方法(公共类方法),您需要先创建一个对象,然后使用该对象通过点 (.) 操作符来访问类方法。
句法
使用以下语法来访问 Java 公共类方法:
对象名.方法名([参数]);
示例
以下是定义类方法和访问它的示例。在这里,我们创建了 Util
类的一个对象,并调用其 minimum()
方法来获得给定两个数中的最小值:
package com.tutorialspoint;
class Util {
public int minimum(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
}
public class Tester {
public static void main(String[] args) {
int a = 11;
int b = 6;
Util util = new Util();
int c = util.minimum(a, b);
System.out.println("Minimum Value = " + c);
}
}
输出
Minimum value = 6
Java 类方法中的 this
关键字
this
是 Java 中的一个关键字,在实例方法或构造函数中作为对当前类对象的引用。使用 this
可以引用类的成员,如构造函数、变量和方法。
注意:关键字 this
只能在实例方法或构造函数中使用。
通常,关键字 this
用于:
-
-
在类中从一种构造函数(带参数构造函数或默认构造函数)调用另一种构造函数。这被称为显式构造函数调用。
示例:在 Java 类方法中使用 this
关键字
以下是一个使用 this
关键字访问类成员的示例。将以下程序复制粘贴到名为 Tester.java
的文件中:
package com.tutorialspoint;
public class Tester {
int num = 10;
Tester() {
System.out.println("这是一个关于关键字 `this` 的示例程序");
}
Tester(int num) {
this();
this.num = num;
}
public void greet() {
System.out.println("Hi Welcome to Tutorialspoint");
}
public void print() {
int num = 20;
System.out.println("局部变量 num 的值是 : " + num);
System.out.println("实例变量 num 的值是 : " + this.num);
this.greet();
}
public static void main(String[] args) {
Tester obj1 = new Tester();
obj1.print();
Tester obj2 = new Tester(30);
obj2.print();
}
}
输出
这是一个关于关键字 `this` 的示例程序
局部变量 num 的值是 : 20
实例变量 num 的值是 : 10
Hi Welcome to Tutorialspoint
这是一个关于关键字 `this` 的示例程序
局部变量 num 的值是 : 20
实例变量 num 的值是 : 30
Hi Welcome to Tutorialspoint
Public 与 Static 类方法
有两种类型的类方法:public 和 static 类方法。public 类方法通过对象来访问,而 static 类方法则无需对象即可访问。您可以直接访问静态方法。
示例
以下示例演示了 public 与 static 类方法的区别:
public class Main {
static void fun1() {
System.out.println("fun1: 这是一个静态方法。");
}
public void fun2() {
System.out.println("fun2: 这是一个公共方法。");
}
public static void main(String[] args) {
fun1();
Main obj = new Main();
obj.fun2();
}
}
输出
fun1: 这是一个静态方法。
fun2: 这是一个公共方法。
finalize()
方法
可以在对象被垃圾收集器最终销毁之前定义一个方法,这个方法叫做 finalize()
,它可以用来确保对象干净地结束。
例如,您可以使用 finalize()
确保关闭对象拥有的任何打开的文件。
要向类添加终结器,只需定义 finalize()
方法即可。当 Java 运行时准备回收该类的对象时,它会调用该方法。
在 finalize()
方法内部,您将指定在对象被销毁前必须执行的动作。
finalize()
方法的一般形式如下:
protected void finalize() {
}
这里,关键字 protected
是一个防止外部代码访问 finalize()
的限定符。
这意味着您无法知道 finalize()
是否会被执行,或者何时被执行。例如,如果您的程序在垃圾收集发生之前结束,则 finalize()
不会被执行。