Java 将数组从主类传递到函数,但又希望使用my“中的返回值”之间的冲突;“吸气剂”;方法
在我的主类中,我有一个静态方法,我将数组传递给它。它是一个静态方法,因为如果我想将某个东西从主类主体传递给这个方法,它必须是静态的。在一个单独的类中,我有一系列的getter和setter(必须是非静态的) 如何传入静态数组并使用非静态getter和setter 编辑-在arraySearch方法中…我无法传入Person数组并访问Person类中的getter 公共班机{Java 将数组从主类传递到函数,但又希望使用my“中的返回值”之间的冲突;“吸气剂”;方法,java,methods,static,non-static,Java,Methods,Static,Non Static,在我的主类中,我有一个静态方法,我将数组传递给它。它是一个静态方法,因为如果我想将某个东西从主类主体传递给这个方法,它必须是静态的。在一个单独的类中,我有一系列的getter和setter(必须是非静态的) 如何传入静态数组并使用非静态getter和setter 编辑-在arraySearch方法中…我无法传入Person数组并访问Person类中的getter 公共班机{ public static void main(String[] args) { Person One = new
public static void main(String[] args) {
Person One = new Person("Alice","Foo", 22, false);
Person Two = new Person("Alice", "Foo",22, false);
Person Three = new Person("Bob","Bar",99, false);
Person Four = new Person("Joe","Blogs",64, false);
Person Five = new Person("Jane", "Joe",42, false);
Person [] People = {One,Two,Three,Four,Five};
printArray(People);
}
public static void printArray(Person [] People)
{
for(int i=0;i<People.length;i++)
{
System.out.println(People[i]);
}
}
public void arraySearch(Person [] People)
{
for(int i=0;i<People.length;i++) //Searches the Array of Objects
{
String firstName = Person.getFirstName();
String secondName=Person.getSecondName();
if((firstName.equals("Joe")&&secondName.equals("B" + //Searches for Joe Blogs and Jane Joe
"logs"))|| ((firstName.equals("Ja" +
"ne")&&secondName.equals("Joe"))))
{
int age=Person.getAge();
Person.setAge(age+1); //Increments Age by 1
}
}
}
}这是一个非常基本的Java问题。您需要从静态方法创建包含setter/getter的对象实例。您还可以在该对象的setter中传递静态数组。然后您应该能够调用这些getter/setter方法
public class Main
{
public static void main(String[] args)
{
MyClass myclass = new MyClass();
myclass.setArgs(args);
System.out.println(myclass.getArgs());
}
}
public class MyClass
{
private String[] args;
public String[] getArgs()
{
return args;
}
public void setArgs(String[] args)
{
this.args= args;
}
}
这是一个非常基本的Java问题。您需要从静态方法创建包含setter/getter的对象实例。您还可以在该对象的setter中传递静态数组。然后您应该能够调用这些getter/setter方法
public class Main
{
public static void main(String[] args)
{
MyClass myclass = new MyClass();
myclass.setArgs(args);
System.out.println(myclass.getArgs());
}
}
public class MyClass
{
private String[] args;
public String[] getArgs()
{
return args;
}
public void setArgs(String[] args)
{
this.args= args;
}
}
必须使用getter从类中创建对象实例 必须使用getter从类中创建对象实例 Amit的答案是正确的;这只是有更多的信息,更符合你在问题中描述的情况 您的基本前提“它是一个静态方法,因为如果我想将某个东西从主类主体传递给这个方法,它必须是静态的。”是错误的。将数组传递到的方法不需要是静态的。下面是一些代码:
public final class Main
{
private static final String[] staticOTron =
{
"one",
"two",
"three"
};
public static void main(final String[] args)
{
String[] hootBerrySause;
Tool tool = new Tool();
tool.setStaticOTron(staticOTron);
hootBerrySause = tool.getStaticOTron();
for (String value : hootBerrySause)
{
System.out.println("Value: " + value);
}
}
}
// this can be in a different file.
public final class Tool
{
private static String[] staticOTron;
public void setStaticOTron(final String[] newValue)
{
staticOTron = newValue;
}
public String[] getStaticOTron()
{
return staticOTron;
}
}
阿米特的回答是正确的;这只是有更多的信息,更符合你在问题中描述的情况 您的基本前提“它是一个静态方法,因为如果我想将某个东西从主类主体传递给这个方法,它必须是静态的。”是错误的。将数组传递到的方法不需要是静态的。下面是一些代码:
public final class Main
{
private static final String[] staticOTron =
{
"one",
"two",
"three"
};
public static void main(final String[] args)
{
String[] hootBerrySause;
Tool tool = new Tool();
tool.setStaticOTron(staticOTron);
hootBerrySause = tool.getStaticOTron();
for (String value : hootBerrySause)
{
System.out.println("Value: " + value);
}
}
}
// this can be in a different file.
public final class Tool
{
private static String[] staticOTron;
public void setStaticOTron(final String[] newValue)
{
staticOTron = newValue;
}
public String[] getStaticOTron()
{
return staticOTron;
}
}
来自vmoksha的Sunil kumar 你的要求更深入的导航 只需创建special的实例或在main中创建getter和setter
来自vmoksha的Sunil kumar 你的要求更深入的导航 只需创建special的实例或在main中创建getter和setter
你能给我们看一下你的代码吗?你能给我们看一下你的代码吗?