4.5 构造方法
Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。
格式:
[修饰符] 类名(形参列表){
//n条语句
}
例如:
public A(...){
}
...
...
A a=new A(...)//不同于以往,此时括号内可以填相应内容
代码示例:
/**
* 构造方法
*
* @author 王立生
*
* 题目:定义一个“点”(Point)类用来表示二维空间中的点(有两个坐标)。要求如下:
(1) 可以生成具有特定坐标的点对象。
(2) 提供可以设置坐标的方法。
(3)提供可以计算该“点”距另外一点距离的方法。
*/
//构建类1:点
class Point{
double x,y;
//这就是构造器,对应下面的new point(3.0,4.0)
//若无此段,则下面应为new point();
public Point(double _x,double _y){
x=_x;
y=_y;
}
//构造方法:计算点距
double distance(Point p){
return Math.sqrt((x-p.x) * (x-p.x)+(y-p.y) *(y-p.y));
}
}
//创建类2:
public class TestConstractor {
public static void main(String[] args){
Point p=new Point(3.0,4.0);
Point org=new Point(0.0,0.0);
System.out.println(p.distance(org)); // 如何理解??????
}
}
/*
* 代码的意思是:
* 构造一个类:点p(x,y)
* 类:p包含的内容有:坐标值x,y。方法distance
* new Point(3.0,4.0),即定义p的坐标为(3.0,4.0)
* 调用方法distance(point p),即计算点p(3.0,4.0)与org(0.0,0.0)的距离
*/
4.6
构造方法重载
/**
* 构建方法
*
* @author 王立生
*
* 题目:构建类:用户;类包含:姓名,id,密码;需满足:三种构建方法
*/
public class User {
//设置内容
int id;
String name;
String passWord;
public User(){
}
public User(int id,String name){
this.id= id;
this.name = name;
}
public User(int id,String name,String passWord){
this.name = name;
this.id = id;
this.passWord=passWord;
}
public static void main(String[] args){
User u=new User();
User u2=new User(123,"王立生");
User u3=new User(1234,"老王","123456");
}
}