我有两节课.在第一个中,我使用它Scanner来检索用户的名称,然后将其存储在String被调用的中name.然后说,我开始一个新的课程,并希望打印出来,我该怎么做呢.所以我只是把这段代码写成一个例子,这样你就可以了解我想要问的内容.我会发布这两个课程.
import java.util.Scanner;
public class One {
public static void main(String[] args) {
String name;
String start;
Scanner input = new Scanner(System.in);
System.out.println("Hello, what is your name?");
name = input.nextLine();
System.out.println("Hello "+name+", welcome! To ocntinue, please hit any key.");
start = input.nextLine();
if(start != null){
Two object = new Two();
}
}
}
Run Code Online (Sandbox Code Playgroud)
二等.
public class Two {
public Two() {
System.out.println("Ok "+One.name+", lets start!");
}
}
Run Code Online (Sandbox Code Playgroud)
所以,你可能会做这样的事情: -
class One
{
private String name = "bob";
public String getName()
{
return name;
}
public static void main(String [] args)
{
One one = new One();
Two two = new Two(one);
// You could also just pass an r-value to Two, as in, Two(new One()) if you
// never require 'one' again
}
}
class Two
{
public Two(One one)
{
System.out.println("Ok " + one.getName() + ", lets start!");
}
}
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?
main入口点方法中创建两个类.One给构造函数TwogetName()正如其他人所建议的那样,你可以传递一个字符串作为构造函数; 或者,你可以两者都做,如果需要作为Java支持重载方法见
建议
查看http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html以获取重写方法,以便您可以看到如何通过值传递字符串和对象引用.你现在正在做的是传递one值的对象引用.可能不需要它,或者您可能希望使用接口提供限制,请参阅http://docs.oracle.com/javase/tutorial/java/concepts/interface.html