例如,我有2个类和一个接口。
public class mainClass {
private String word;
}
public interface intWord {
public String getOutput();
public void setInput( String input );
public void setLevel ( int level );
}
public class secondClass implements intWord {
//class I want to be able to access 'word' from mainClass without extending it.
public String getOutput() {
}
public void setInput( String input ) {
}
public void setLevel ( int level ) {
}
}
如何在不延长mainClass的情况下访问我的secondClass中的“word”?我相信我可以在某处添加一些辅助方法以使其变得简单....但我无法理解它!
答案 0 :(得分:2)
在mainClass中,您可以添加“getter”方法,如下所示
public class mainClass {
private String word;
public String getWord(){
return word;
}
}
只需从你的第二节课中调用getWord()
您还可以通过添加setter方法从第二个类动态设置单词值:
public void setWord(String newWord){
word = newWord;
}
答案 1 :(得分:1)
尝试getWord()和setWord(String word)
功能在mainClass中并从那里开始。
答案 2 :(得分:1)
假设您想要使用" word"作为setInput方法的参数将是mainClass的实例和访问字段的getter。这是它的样子:
identifier
另一种方法是让你的字段字为静态变量并使用静态getter返回它(不推荐)。这是mainClass应该是这样的:
public static void main( String args[])
{
// Assuming word is not null
secondClass second_class = new secondClass ();
secondclass.setInput(mainClass.getWord());
}
以下是您将如何访问它:
public class mainClass {
private static String word;
public static String getWord(){
return word;
}
}
答案 3 :(得分:0)
最好的方法是在private String word;
中为mainClass
创建setter和getter,并在secondClass
中创建mainClass的对象,并访问getter和setter以获取/设置{的值{1}}。
另一件事,如果您知道word
是全局变量,那么您可以在secondClass中将其创建为word
而不是私有和public string word;
mainClass,以便直接访问它。
为了您的知识,java遵循惯例,其中类名应以大写字母开头,然后遵循驼峰案例。