有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将构造函数传递给构造函数?

问题是“向Point类添加一个构造函数,该构造函数接受另一个点作为参数,并初始化新点,使其具有相同的(x,y)值。在解决方案中使用关键字this。”

public  class Point
{
  int x;
  int y;
  //enter your code here
}

我已经应用了我能想到的所有概念和点击试验法,但它们都不起作用。我是说我怎么能把构造函数传给构造函数! 这是我想到的最好的

 public Point(Point)
 {
     this.x=x;
     this.y=y;
  }

但这会产生一个错误。 “<;标识符>;应为 公共点(点)


共 (2) 个答案

  1. # 1 楼答案

    你的构造函数应该是:

    public Point(Point p) {
        this.x = p.x;
        this.y = p.y;
    }
    

    通过这种方式,可以将p的属性分配给类的属性
    您没有包含标识符p
    虽然如果这是类的唯一构造函数,那么该类是无用的,因为它需要一个预实例化的对象来实例化一个新的对象

  2. # 2 楼答案

    至少需要为构造函数参数变量指定一个名称:

    public Point(Point p) {
     this.x = p.x;
     this.y = p.y;
    }
    

    您不必将构造函数传递给构造函数,只需一个实例就可以复制它。 类的实例可以访问同一类的所有私有字段