getName返回一个字符串值,又不是返回name的引用,你把值赋给这个变量不会改变到nm.name;要么用set方法,要么把name定义为public,要么通过构造方法传递
import java.util.*;
class Name{
private String name;
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class SetName {
public static void main(String[] args) {
Name nm = new Name();
Scanner input = new Scanner(System.in);
String inputName = input.nextLine();
nm.setName(inputName); // nm.getName() = inputName; 这里你需要通过setName()方法给Name类中属性赋值
//你原来的写法是不对的
System.out.print(nm.getName());
}
}