在一个课程中,我定义了一个setX方法
public class Point{
int x;
int y;
...
public int setX(int x){
this.x = x;
}
...
}
在另一个类中,我需要创建一个点对象并将其x字段设置为1,我不知道该写什么。这就是我写的
public class Lab1{
public static void main (String[] args){
Point a;
a.x = new setX(1);
...
}
}
我该怎么办?
答案 0 :(得分:2)
您需要初始化Point a;
尝试添加Point a = new Point()
然后您应该设置它{x应该是您的代码。
public class Lab1{
public static void main (String[] args){
Point a = new Point();
a.setX(1);
System.out.println(a.x);//the value 1 should be displayed
}
如果你想知道你的类看起来像构造函数那么就是一个例子
public class Point{
int x;
int y;
public Point(int x, int y){
this.x = x;
this.y = y;
}
public void setX(int x){
this.x = x;
}
public void setY(int y){
this.y = y;
}
public int getX(){
return this.x;
}
}
public int getY(){
return this.y
}
答案 1 :(得分:2)
Setter应该是VOID,因为它们不会返回任何值......对吗?因为他们只设置实例变量
public void setX(int x){
this.x = x;
}
在你的Point类中你应该有一个构造函数吗?您可以从Point类创建新对象。
你是怎么做到的?
像这样:
Point someName = new Point(<SOME INT HERE>);
使用构造函数设置值...不是您的示例
public class Lab1 {
public static void main (String[] args){
Point a = new Point(5);
}
}
您的解决方案
public class Lab1 {
public static void main (String[] args){
Point a = new Point();
a.setX(5);
}
}
答案 2 :(得分:0)
你应该这样写。
class Point{
int x;
int y;
public void setX(int x){
this.x = x;
}
public int getX(){
return this.x;
}
}
public class Lab1 {
public static void main(String[] args) {
Point A = new Point();
A.setX(1);
System.out.println(A.getX());
}
}