Java从入门到放弃教程十六--java方法
1、创建方法的语法:
public static int methodName(int a, int b) {
// body
}
例如,找出两个数中最小的数
public static int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
1、调用方法很简单,只需要传递参数给方法名并调用即可。
public class ExampleMinNumber {
public static void main(String[] args) {
int a = 11;
int b = 6;
int c = minFunction(a, b);
System.out.println("Minimum Value = " + c);
}
/** 返回两个数的最小数 */
public static int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
}
1、使用void 我们可以创建不带返回值的方法。
1、当类的两个或多个方法同名但参数不同时, 它称为方法重载。它与重写不同。在重写中, 方法具有相同的方法名称、类型、参数个数等。
之前我们返回的是两个整数的最小数,如果要返回两个double数的最小数,我们用重载可以这样写。
public class ExampleOverloading {
public static void main(String[] args) {
int a = 11;
int b = 6;
double c = 7.3;
double d = 9.4;
int result1 = minFunction(a, b);
// same function name with different parameters
double result2 = minFunction(c, d);
System.out.println("Minimum Value = " + result1);
System.out.println("Minimum Value = " + result2);
}
// for integer
public static int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
// for double
public static double minFunction(double n1, double n2) {
double min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
}
重载使程序更具可读性。两个方法名字相同,但是参数不同。
1、构造函数在创建对象时初始化它。它与类同名, 语法上类似于方法。但是, 构造函数没有显式返回类型。
通常, 您将使用构造函数为类里面定义的实例变量进行初始值, 或者执行创建完全形成的对象所需的任何其他启动过程。
所有类都有构造函数, 即使你没有定义构造函数, 因为 Java 自动提供一个默认构造函数, 将所有成员变量初始化为零。但是, 一旦定义了自己的构造函数, 就不再使用默认构造函数。
// 构造函数例子
class MyClass {
int x;
// 下面是一个构造函数
MyClass() {//方法名和类名相同
x = 10;//退实例变量进行初始化。
}
}
当实例化对象的时候,构造函数就会执行。
public class ConsDemo {
public static void main(String args[]) {
MyClass t1 = new MyClass();
MyClass t2 = new MyClass();
System.out.println(t1.x + " " + t2.x);
}
}
1、this是java中的一个关键词。用来表示当前对象的一个引用。在实例方法或者构造函数中使用。
使用this,可以引用类的成员。
this用来区分实例变量和局部变量
比如:
class Student {
int age;
Student(int age) {
this.age = age;
}
}


1、方法中可以指定一个可变长度参数,必须放在参数列表最后。常规参数都必须放在它前面。
可变长度参数的定义语法:typeName... parameterName

1、finalize函数在对象被垃圾回收前执行。用来做一些清理工作。比如,在finalize中,确保文件已被关闭。
添加protected关键词的目的是防止finalize函数直接被外部调用。
protected void finalize( ) {
// 代码
}