Java编程有一处不是很明白?求高手解答?谢谢!

题目:编写一个名为Input的类,该类属于com.tools包。使用该类实现各种数据类型(字符型除外)数据输入,其中的方法有readInt()、readDoube()、r... 题目:
编写一个名为Input的类,该类属于com.tools包。使用该类实现各种数据类型(字符型除外)数据输入,其中的方法有readInt()、readDoube()、readString()等。在用户程序中通过调用Input.readDouble()即可从键盘上输入double型数据。
源程序:
importjava.util.Scanner;
public classInput{
static Scanner sc=new Scanner(System.in);
public static byte readByte(){
System.out.print("Please input abyte value:");
return sc.nextByte();
}
public static short readShort(){
System.out.print("Please input ashort value:");
return sc.nextShort();
}
public static int readInt(){
System.out.print("Please input aint value:");
return sc.nextInt();
}
public static long readLong(){
System.out.print("Please input along value:");
return sc.nextLong();
}
public static float readFloat(){
System.out.print("Please input afloat value:");
return sc.nextFloat();
}
public static double readDouble(){
System.out.print("Please input adouble value:");
return sc.nextDouble();
}
public static boolean readBoolean(){
System.out.print("Please input aboolean value:");
return sc.nextBoolean();
}
public static void main(String[] args){

double d=Input.readDouble();
System.out.println("d="+d);
}
}
这个程序是正确的,但是我不太明白为什么在这里static Scanner sc=new Scanner(System.in);必须要写上static呢?不写可以吗?还有就是程序中的方法中都写了static,实在不太明白static的作用,程序中有无static有什么区别?希望能讲的详细一点。
展开
 我来答
frostfish425
2013-10-13 · TA获得超过124个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:126万
展开全部
恩,这是必须有的,static修饰的叫做静态xx,修饰变量就叫静态变量,修饰函数就叫静态函数。
谈谈static的作用吧,给你个例子:

如果 readDouble 函数不加 static,那么在调用的时候,就需要有一个 Input的实例对象才能调用,如下:
Input input = new Input();
double d = input.readDouble();

而对于static方法而言,不需要实例变量就可以直接用类名来调用,就跟你main函数中的一样

double d = Input.readDouble();

从这个例子中,可以发现,static修饰的变量或者函数,那么这些变量和函数就是属于“类”这个范围的,因此可以直接用类名来调用

而没有static修饰的变量或者函数,那么这些变量和函数就是属于类的实例对象的,就需要new 出一个实例对象之后,才能进行调用
zhang779896660
2013-10-13 · TA获得超过701个赞
知道小有建树答主
回答量:717
采纳率:100%
帮助的人:354万
展开全部
static 修饰的是静态成员和变量
要说这个就要说到 类和实例对象的关系

static 修饰的是类的属性和方法, 只要有了这个类, 就有这些方法和属性了,
没有static修饰的属性和方法是对象的属性和方法, 只要创建出对象,才能使用

一般工具类都用static 修饰是因为, 工具类对于每一个使用他的对象来说, 它都是一样的, 只有一个,所以不用创建新对象, 那就用static 可以能过类名 直接使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e2d2895
2013-10-13
知道答主
回答量:48
采纳率:100%
帮助的人:13.9万
展开全部
static表示这个函数或变量是类函数或类变量,可以之间通过类名访问.还有static变量是唯一的 与对象无关
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式