下面有两个课程,我想在我的主程序中调用SetPlace方法。
public class Place
{
//variables
//constructors
//methods
private String place; //only accessible within the class
public Place()
{
place = null; // strings initialised as null as it doesn;t refer to anything yet -1 for int
}
public void SetPlace()
{
Place p1 = new Place();
p1.place="Dungeon";
}
}
public class Main {
public static void main (String []args)
{
Place p1 = new Place();
}
}
如何将SetPlace方法传递给Main方法并打印出" Dungeon"。
欢迎任何帮助!
答案 0 :(得分:1)
您必须创建该类的实例,例如:Place place = new Place()
然后place.SetPlace()
。
或者您可以创建该函数static
,以便可以在main中调用它,而无需创建它的新实例。请注意,setter可能不应该是静态的,但是如果你想从另一个类访问一个函数,那就是这样做。
答案 1 :(得分:1)
您只需要在main方法中编写调用语句,如下所示:
public static void main (String []args)
{
Place p1 = new Place();
p1.SetPlace();// added here
}
但是你可能犯了两个错误:以错误的方式写SetPlace
,缺少" print"声明。
安装工通常看起来像这样:
SetPlace(String place){
this.place = place; // instead of creating a new instance of Place
}
如果要在控制台上打印内容,可以使用 System.out :
// write this method in class Place
String getPlace(){
return place;
}
...
// call it in Main
System.out.println(p1.getPlace());
答案 2 :(得分:0)
它不起作用。您不能将该方法作为参数传递,而是将refence传递给您的对象/实例。在你的情况下,因为你已经创建了一个实例,你可以调用
p1.SetPlace();
此外,如果你想将它打印到控制台,你应该在Place类中编写一个toString()方法,然后使用System.out调用调用它,如下所示
public String toString()
{
return place;
}
主要方法中的
System.out.println(p1);
答案 3 :(得分:0)
如果要获取字符串位置的值以便打印它,您还需要创建一个返回位置的getPlace()方法。
在你使用的主要方法中
p1.SetPlace();
System.out.println(p1.getPlace());
答案 4 :(得分:0)
为场所创建setter方法。
注意: - 根据Java指南...方法名称必须以小字符开头,并且必须遵循驼峰案例。
public void setPlace(String place)
{
this.place=place;
}
为place创建getter方法并获取值使用Place类的引用变量调用此方法。
public String getPlace()
{
return place;
}
现在来自Main类调用setter方法。
Place p1 = new Place();
p1.setPlace("New York");