前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础学习-构造器

Java基础学习-构造器

原创
作者头像
FutureTester
发布2021-12-19 13:55:16
4550
发布2021-12-19 13:55:16
举报
文章被收录于专栏:FutureTester

构造器的定义:

  • 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();
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构造器的定义:
  • 构造器作用:
  • 构造器是一种特殊的方法:
  • 例题:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档