Java 简明教程
Java - Class Methods
Java Class Methods
class methods 是在 class 中声明的方法。它们执行特定操作,并且可以访问和修改 class attributes。
Creating (Declaring) Java Class Methods
类方法声明类似于 user-defined methods 声明,不同之处在于类方法是在类中声明的。
类方法通过指定 access modifier 后跟返回类型、method_name 和参数列表来声明。
Syntax
使用以下语法声明 Java 类方法:
public class class_name {
modifier returnType nameOfMethod(Parameter List) {
// method body
}
}
上面显示的语法包括:
-
modifier − 它定义方法的访问类型,是否使用它是可选的。
-
returnType − 返回 data type 的类方法。
-
nameOfMethod − 这是方法名。方法签名由方法名和参数列表组成。
-
Parameter List − 参数列表,它是方法的类型、顺序和参数数。它们是可选的,方法可以不带任何参数。
-
method body− 方法主体通过各种命令定义方法的作用。
Accessing Java Class Methods
要访问一个类方法(公共类方法),首先需要创建一个对象,然后使用该对象,并借助圆点 (.) 算子,您可以访问类方法。
Example
下面是一个示例,演示如何定义类方法和访问类方法。在此,我们创建了一个 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
this Keyword in Java Class Methods
this 是 Java 中的一个关键字,用作当前类对象的引用,它存在于实例方法或构造函数中。通过使用此关键字,您可以引用类的成员,例如构造函数、变量和方法。
Note− 关键字 this 只用在实例方法或构造函数内
一般来说,关键字 this 用于 −
-
在构造函数或方法中,区分具有相同名称的实例变量和局部变量。
class Student {
int age;
Student(int age) {
this.age = age;
}
}
-
在类中,从另一个类中调用一种类型的构造函数(带参数构造函数或默认构造函数)。它称为显式构造函数调用。
class Student {
int age
Student() {
this(20);
}
Student(int age) {
this.age = age;
}
}
Example: Using this Keyword in Java Class Methods
这是一个使用 this 关键字访问类成员的示例。复制并粘贴以下程序到名为 Tester.java 的文件中。
package com.tutorialspoint;
public class Tester {
// Instance variable num
int num = 10;
Tester() {
System.out.println("This is an example program on keyword this");
}
Tester(int num) {
// Invoking the default constructor
this();
// Assigning the local variable num to the instance variable num
this.num = num;
}
public void greet() {
System.out.println("Hi Welcome to Tutorialspoint");
}
public void print() {
// Local variable num
int num = 20;
// Printing the local variable
System.out.println("value of local variable num is : "+num);
// Printing the instance variable
System.out.println("value of instance variable num is : "+this.num);
// Invoking the greet method of a class
this.greet();
}
public static void main(String[] args) {
// Instantiating the class
Tester obj1 = new Tester();
// Invoking the print method
obj1.print();
// Passing a new value to the num variable through parametrized constructor
Tester obj2 = new Tester(30);
// Invoking the print method again
obj2.print();
}
}
This is an example program on keyword this
value of local variable num is : 20
value of instance variable num is : 10
Hi Welcome to Tutorialspoint
This is an example program on keyword this
value of local variable num is : 20
value of instance variable num is : 30
Hi Welcome to Tutorialspoint
Public Vs. Static Class Methods
有两种类型的类方法,public 类方法和 static 类方法。public class methods 通过对象访问,而 static class methods 直接访问。您可以直接访问静态方法。
Example
以下示例演示了公共类方法和静态类方法之间的区别:
public class Main {
// Creating a static method
static void fun1() {
System.out.println("fun1: This is a static method.");
}
// Creating a public method
public void fun2() {
System.out.println("fun2: This is a public method.");
}
// The main() method
public static void main(String[] args) {
// Accessing static method through the class
fun1();
// Creating an object of the Main class
Main obj = new Main();
// Accessing public method through the object
obj.fun2();
}
}
fun1: This is a static method.
fun2: This is a public method.
The finalize( ) Method
可以定义一种方法,在垃圾收集器对某个对象进行最终销毁之前,将会调用该方法。此方法称为 finalize( ),可用于确保对象干净地终止。
例如,您可以使用 finalize( ) 确保由该对象拥有的打开文件已关闭。
要为类添加一个终结器,只需定义 finalize( ) 方法。每当 Java 运行时准备回收该类的对象时,就会调用该方法。
在 finalize( ) 方法中,您将指定在销毁对象之前必须执行的操作。
finalize( ) 方法具有以下常规形式 −
protected void finalize( ) {
// finalization code here
}
此处,关键字 protected 是一个说明符,该说明符阻止定义在其类外部的代码访问 finalize( )。
这意味着你无法知道finalize()何时或是否会被执行。例如,如果你的程序在垃圾收集发生之前结束,则finalize()将不会执行。