我想问一下java编程语言,具体到构造函数。假设我们有一个类测试,在那里我们测试整个程序,和类点,在那里定义构造函数(集和获取方法btw)。类行:
public class Test {
public static void main(String[] args) {
Point p = new Point();
p.setX(10);
System.out.println("X coordinate point1: " + p.getX());
p.setY(20);
System.out.println("Y coordinate point1: " + p.getY());
}
类点:
public void setX(int x) {
this.x = x;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
现在,如果我在构造函数中输入类点的名称,那将是一个错误:
public void Point(intx){this.x=x;}
public int Point(int x)
{this.x=x;}
从逻辑上讲,我想我只需要在main方法中重命名构造函数的名称,但我还是不太确定。
我将构造函数的名称重命名为类Point,也重命名为主方法,但是,正如我所想的,由于某种原因,它是错误的。它没有直接显示错误描述
构造函数没有返回类型。例如,
public Point(int x, int y) {
this.x = x;
this.y = y;
}
试图这样定义它。。。
public int Point(int x) {}
...实际上是声明一个方法,只是与类的名称混淆。
嗯,我想你对构造函数感到困惑。他们有两个要求:
所以不,ulualPoint()
永远不是一个构造函数,而且在Point
类中,除了Point
之外的任何东西都不会是一个构造函数。
请注意,编写void Point()
仍然有效(不幸的是),但它不是一个构造函数,只是一个常规方法,碰巧与它的封闭类同名。编译器可以区分它们,因为它们的用法从来都不含糊。但是,您永远不应该给方法起与封闭类相同的名称,因为它既令人困惑,又违反了Java命名约定。
还要注意,如果您不定义任何构造函数,编译器会自动为您生成一个无参数构造函数。
所以这个:
class Point {
public void setX(int x) { this.x = x; }
public void setY(int y) { this.y = y; }
public int getX() { return x; }
public int getY() { return y; }
}
相当于:
java prettyprint-override">class Point {
public Point() { }
public void setX(int x) { this.x = x; }
public void setY(int y) { this.y = y; }
public int getX() { return x; }
public int getY() { return y; }
}
我不太清楚kotlin是如何管理属性名和主构造函数参数名的。如果我写了相同的属性名和参数名,那么kotlin编译器会给出一个错误。 它给出了这个错误。 但是,当我更改属性的名称或更改主构造函数的参数名称时,代码将工作并编译。 这将工作或编译罚款。 这背后的原因是什么?为什么主构造函数的参数名和属性名不能相同?
问题内容: 在我的Java应用程序中,我使用第三方库。 但是,我发现有些奇怪,有一些嵌套的程序包,有些类的名称可能与程序包的名称相同。 恐怕我不清楚。这是一个例子: 包 在“ com.xx.a”内部有一个名为“ a”的类。 因此,如果我想将此类称为“ a” … 我写: 然后,IDE将认为我的意思是软件包“ com.xx.a.a”。 那我就不能打电话了。 我想知道为什么? 顺便说一句,图书馆提供者似
问题内容: 学术界认为表名应该是存储其属性的实体的单数形式。 我不喜欢任何需要在名称两边加上方括号的T-SQL,但是我将表重命名为单数,永远判刑那些使用该表的人有时不得不使用方括号。 我的直觉是保持单数形式更正确,但我的直觉也认为方括号表示不受欢迎的内容,例如列名中带有空格等。 我该留下还是该走? 问题答案: 就“标准”而言,其他人给出了很好的答案,但我只想补充一下……“用户”(或“用户”)是否可
有没有一种方法可以在Haskell中有类似于创建“构造函数别名”的东西?我的想法与类型别名类似,您可以给类型一个不同的名称,但它仍然以别名类型的方式表现。 我的用例是一个系统,其中我有一个指定的时间作为我要建模的一些对象的属性,所以。其中一些可能是“可变”时间,这意味着它可能还没有被分配一个时间,或者它拥有的时间是“可移动的”。所以。 我非常肯定我对Haskell非常了解,可以说不存在构造函数别名
问题内容: 有没有一种方法可以给定类名称(动态)来创建特定类的实例,并将参数传递给其构造函数。 就像是: 的构造函数的参数在哪里? 问题答案: 是的,类似: 当然,这仅适用于单个字符串参数,但是你可以轻松地对其进行修改。 注意,类名必须是完全合格的,即包括名称空间。对于嵌套类,你需要使用美元(因为这是编译器使用的美元)。例如: 要获得该Class对象,你需要。
我需要填写时间偏移的方法,但使用类名作为参数名,我不知道如何做到这一点我已经尝试将变量添加在一起,但我得到错误说"你不能将时间转换为int" 所以我不知道该怎么办,请尽快回复谢谢! 错误类型: