java问题 scanner
importjava.util.Scanner;publicclassKeyboard{Scannerin;publicKeyboard(){in=newScanner(...
import java.util.Scanner;
public class Keyboard {
Scanner in;
public Keyboard() {
in=new Scanner(System.in);
}
public String getString() {
return in.next();
}
}
主函数
class AAA {
public static void main(String args[]) {
String s = new String();
s=Keyboard.getString();
}
为什么编译的时候出错 展开
public class Keyboard {
Scanner in;
public Keyboard() {
in=new Scanner(System.in);
}
public String getString() {
return in.next();
}
}
主函数
class AAA {
public static void main(String args[]) {
String s = new String();
s=Keyboard.getString();
}
为什么编译的时候出错 展开
5个回答
展开全部
Keyboard不是静态方法,只有静态方法才能这样调Keyboard.getString();
不然要先把Keyboard给new出来
Keyboard中的成员变量in没有初始化,是空的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要想直接调用,需要将getString()前面加static。要想达到你赋值的目的,还要修改很多地方,所以,还是建议直接new实例化对象的方式好些!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类需要实例化才能使用
Keyboard key = new Keyboard();
s=key.getString();
追问
谢谢 但是为什么不能直接调用类下的方法?
追答
类封装了属性和方法,当其它方法要用到它的方法或属性时就应该实例化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s=Keyboard.getString();改成new Keyboard().getString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询