在java中,所有的函数(或称为方法)必须在类中定义。
闲话不说,先看示例:
classPoint {intx;inty;
Point() {//这个是类默认的,如果我们没有任何构造器,编译器默认给类加上这个}
Point(intx,inty) {this.x =x;this.y =y;
}/*** 打印我的坐标*/voiddisplayMyCoordinate(){
System.out.PRintln("坐标(x,y) = (" +this.x + "," +this.y + ").");
}/*** 返回此点和另外一个点的中点
*@paramother:另外一个点*/Point midpoint(Point other){//注意,这里的返回值类型是一个Point对象returnnewPoint( (this.x+other.x) /2, (this.y+other.y) /2);
}/*** 返回A点和B点连线的中点
*@paramA:点A
*@paramB:点B*/Point midpoint(Point A,Point B){//注意,这里的返回值类型是一个Point对象,这里还用到了JAVA中的多态,所谓多态简单来说就是一个方法的多种形态。
//譬如这个方法和前述的Point midpoint(Point other)有相同的方法名,虽然名字相同单参数个数不一样,这就是多态
//多态是为了提供不能的方法形态供调用者使用。
returnnewPoint( (A.x+B.x) /2, (A.y+B.y) /2);
}publicstaticvoidmain(String[] args) {
Point p=newPoint(2, 3);//我们可以像这样使用我们定义的构造器构造Point的实例p。System.out.println("对象p中的成员变量x的值是:" + p.x);//我们可以使用p.x访问对象p的成员变量xSystem.out.println("对象p中的成员变量y的值是:" + p.y);//我们可以使用p.y访问对象p的成员变量yp.displayMyCoordinate();
Point A=newPoint(5,6);
Point B=newPoint(10,20);
Point C= p.midpoint(A);//获得p、A两点的中点CPoint D = p.midpoint(A, B);//获得A、B两点的中点D
//看到没,这里就用到了前述的多态
System.out.print("p点:");
p.displayMyCoordinate();
System.out.print("A点:");
A.displayMyCoordinate();
System.out.print("B点:");
B.displayMyCoordinate();
System.out.print("p、A的中点C:");
C.displayMyCoordinate();
System.out.print("A、B的中点D:");
D.displayMyCoordinate();
}
}