Java的方法

方法的定义


//修饰符:可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

//返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是void

//方法名:方法的实际名称,方法名和参数表共同构成方法签名。

//参数类型:参数像是一个占位符,当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数

//方法体:方法体包含具体的语句,定义该方法的功能。

//当程序调用一个方法时,程序的控制权交给了被调用的方法,当被调用方法的返回语句执行或者达到方法体闭括号时交还控制权给程序。

//main方法是被JVM(Java Virtual Machine,Java虚拟机)调用的,除此之外,与其他方法无差别


public Integer testMaxValue(Integer one, Integer two) {

System.out.println("调用了integer的max方法");

return one > two ? one : two;

}


方法的重载:


//方法的重载

//Java中,同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就是方法的重载。

//参数列表又叫参数签名,包括参数的类型、参数的个数、参数的顺序,只要有一个不同就叫做参数列表不同。

//重载,是面向对象的一个基本特性

//仅仅参数变量名称不同是不被识别的

//声明为final的方法不能被重载

//声明为static的方法不能被重载

//仅仅返回类型不同,不足以称之为重载

//方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨


public double testMaxValue(double numOne, double numberTwo,double numberThree) {

System.out.println("调用了double的max方法");

return numOne > numberTwo ? (numOne>numberThree ? numOne : numberThree) : (numberTwo > numberThree ? numberTwo :numberThree);

}


finalize()方法,他在对象被垃圾收集器回收之前调用,我们可以在这里来做一些事情,比如说确保某个文件被顺利关闭了。


新建一个类,并构建finalize方法


class Girl extends Object{


private Integer index ;

//构造方法

public Girl (Integer number) {

this.index = number;

System.out.println("Girl number is :"+number);

}

//protected 确保该方法不会被该类以外的代码调用

protected void finalize() throws java.lang.Throwable {

super.finalize();

System.out.println("销毁对象:"+index);

}

}


方法的调用:


public void testGirl() {

Girl girlOne = new Girl(1);

Girl girlTwo = new Girl(2);

Girl girlThree = new Girl(3);


girlOne = girlTwo = null;

System.gc();//调用java的垃圾收集器

System.out.println("gc system carry out");

}


加油~