Java基础学习-构造器

2021-12-19 13:55:16 浏览数 (1)

构造器的定义:

  • constructor构造方法,一个在创建对象时被自动调用的特殊方法。

构造器作用:

  • 为对象进行初始化(成员变量)工作。

构造器是一种特殊的方法:

  • 构造器的方法名必须和类名一直
  • 构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构造器里调用return
  • 通过new关键字调用
  • 如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则编译器不会添加无参数构造方法
  • 与普通方法一样,构造方法也可以重载

例题:

  1. 通过前面的学习来做一道题:定义一个“点”(Point)类用来表示二位空间中的点(有2个坐标)。要求如下:
  • 可以生产具体特定坐标的点对象。
  • 提供可以设置2个纵坐标的方法。
  • 提供可以计算该“点”距另外点的距离

代码:

代码语言:javascript复制
public class Point {
    int x;
    int y;
    public void set(int xx, int yy){
        x =xx;
        y =yy;
    }
    public double calcDistance(Point p){
        return Math.sqrt((p.x-x)*(p.x-x) (p.y-y)*(p.y-y));
    }

    public static void main(String[] args) {
        Point p1 = new Point();
        p1.set(3,5);
        Point p2 = new Point();
        p2.set(2,4);
        System.out.println(p1.calcDistance(p2));
    }
}

2. 代码实现交换point中两个左边的值(实现用对象作为参数)

代码语言:javascript复制
public class Point {
    int x;
    int y;
    public void set(int xx, int yy){
        x =xx;
        y =yy;
    }
    public double calcDistance(Point p){
        return Math.sqrt((p.x-x)*(p.x-x) (p.y-y)*(p.y-y));
    }
    public void changePoint(Point p){
        int a =p.x;
        p.x = x;
        x = a;
        int b = p.y;
        p.y = y;
        y = b;
    }
    public void show(){
        System.out.println("[" x "," y "]");
    }


    public static void main(String[] args) {
        Point p1 = new Point();
        p1.set(3,5);
        Point p2 = new Point();
        p2.set(2,4);
        System.out.println(p1.calcDistance(p2));
        p1.changePoint(p2);
        p1.show();
        p2.show();
    }
}

0 人点赞