(一)方法
1.方法基本定义
学习类和构造方法之前要知道”方法“是什么。
在编写程序的过程中,有时会有一串代码会重复使用许多次,就用方法来保存这些代码,以实现运用调用一个简单的方法的语句来做到一系列操作。定义方法有以下格式:

public static 返回值的类型 方法的名称(参数类型 参数变量,参数类型 参数变量,...) {
			该方法要执行的操作;
			return 返回值;//如果返回值类型是void,则不用使用return语句
		}

这里有一个例子可以帮助理解方法是具体是怎么使用的:

public class Java {
//****************************************************************
//为了看得更清晰,我把各方法用*号隔离开来,要看清楚方法要写在程序的哪个位置
	public static void main(String[] args) {
		int x;
		int y;
		int z;
		
		x = 1;
		y = 2;
		
		z = add(x,y);//调用add方法
		System.out.println(z);
		
		print();//调用print方法
	}
//****************************************************************
	public static int add(int a,int b) {
		return a + b;//当该方法被调用时,会返回a+b的值
	}
//****************************************************************
	public static void print() {
		System.out.println("+++++++++++");//调用没有返回值的方法时,会直接执行该语句里的代码
	}
//****************************************************************
}

执行结果:
3
+++++++++++

2.方法重载
就是对方法名称进行重复使用,这些方法的方法名称相同,但是参数的类型和个数不同,调用时会根据调用时的参数类型和个数来决定调用哪一个方法。以下例子用来帮助具体理解方法重载是什么意思。

public class Java {
	public static void main(String[] args) {
		int i,j,x,y,z;
		
		x = 1;
		y = 1;
		z = 1;
		i = 1;
		j = 1;
		
		System.out.println( add(x,y) );
		System.out.println( add(x,y,z) );
		System.out.println( add(x,y,z,i) );
		System.out.println( add(x,y,z,i,j) );
//从这里可以看出来,这几个输出都调用了add方法,但是因为参数个数不同所以调用了不同的方法,当然参数类型不同也会调用不同的方法,这就是方法重载
	}
	
	public static int add(int a,int b) {
		return a + b;
	}
	
	public static int add(int a,int b,int c) {
		return a + b + c;
	}
	
	public static int add(int a,int b,int c,int d) {
		return a + b + c + d;
	}
	
	public static int add(int a,int b,int c,int d,int e) {
		return a + b + c + d + e;
	}
}

执行结果:
2
3
4
5

(二)类
类是由成员属性和方法组成的。
定义类的语法如下:

class 类名称{
	访问修饰符 数据类型 数据变量;
	...
	
	public 返回的数据类型 方法名称(参数类型 参数变量,参数类型 参数变量,...) {
		执行的操作;
		return 返回的值;//返回的值的数据类型要跟前面的所写的返回的数据类型一致
	}
}

用以下的例子来帮助理解:

//*************************************************
//依然用*号来隔开两个类,来更清楚的看类是放在程序的哪个位置
class Test{
	int i;
	int j;
	int k;
	
	public Test(int a,int b) {
		i = a;
		j = b;
	}
	
	public int sum() {
		k=i + j;
		return k;
	}
}
//*************************************************
public class Java {
	public static void main(String[] args) {
		int x,y,h;
		
		x = 1;
		y = 2;
		
		Test z = new Test(x,y);//定义一个新对象z,可以对z调用test类里面的方法,这句就是使用new实例化新对象z,并且调用了构造方法,下面会讲构造方法是怎么用的
		
		h = z.sum();
		
		System.out.println(h);
	}

}
//*************************************************

执行结果:
3

(三)构造方法
构造方法是在类中定义的一种特殊方法。该类用new实例化的对象可以直接调用该类中的方法。

类中构造方法有如下要求:
1.名称与类名称一致
2.没有返回值声明

其默认的构造方法:

class Test{
	public Test() {
	}
}

一个类中其实可以有多个构造方法。就像其他方法一样,它们之间的参数类型和参数个数不同,所以进行实例化的时候也会有所不同。也就是说结果方法也可以重载。以下是帮助理解的例子:

class Test{
	int i;
	int j;
	int k;

	
	public Test(int a,int b,int c) {
		i = a;
		j = b;
		k = c;
	}
	
	public Test(int a,int b) {
		i = a;
		j = b;
	}//虽然该方法名称与上一个方法相同,但参数个数不一样,所以在main里实例化的时候,会有一些不同,两个参数时会调用该方法,但有三个参数时会调用上一个方法
	
	public void print1() {
		System.out.println("*:"+i+" **:"+j);
	}
	
	public void print2() {
		System.out.println("*:"+i+" **:"+j+" ***:"+k);
	}
}
//************************************************************
public class Java {
	public static void main(String[] args) {
		int x,y,h;
		
		x = 999;
		y = 999;
		h = 999;
		
		Test test1 = new Test(x,y);
		Test test2 = new Test(x,y,h);
		
		test1.print1();
		test2.print2();
	}

}

执行结果:
*:999 **:999
*:999 **:999 ***:999