当前位置: 代码迷 >> Java相关 >> 这个程序有一个地方不大理解
  详细解决方案

这个程序有一个地方不大理解

热度:117   发布时间:2007-01-25 18:21:00.0
这个程序有一个地方不大理解
import java.io.*;
public class SwitchTest3
{
public static void main(String[] args)
{
String strIn = "";
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader buffIn = new BufferedReader(in);
System.out.print("Please enter a singal lower letter: ");
try
{
strIn = buffIn.readLine();//从命令行读入数据
}
catch (IOException e)
{
System.out.println(e.toString());
}
char letter = strIn.charAt(0);//将字符串转变成字符型数据
switch(letter)
{
case 'a':
System.out.println("the letter is a!");
break;
case 'b':
System.out.println("the letter is b!");
break;
case 'c':
System.out.println("the letter is c!");
break;
case 'd':
System.out.println("the letter is d!");
break;
default:
System.out.println("the letter is not between a and d!");
}
}
}

上面强调部分是用String变量strIn调用String类中的方法charAt();
但是书上有一句话是:对象变量要调用方法,必须先和一个具体的对象关联,也就是对象变量的初始化。
这个程序中的strIn 并没有和某一个String的对象显式关联,为什么可以执行呢?

谢谢。
搜索更多相关的解决方案: void  public  import  letter  

----------------解决方案--------------------------------------------------------
strIn不就是一个对象吗?


String strIn = ""; 这是你的声明

----------------解决方案--------------------------------------------------------
char letter = strIn.charAt(0);//将字符串转变成字符型数据

这不就是把输入的那个字符串的首字母赋给letter引用么.

String strIn在使用之前已经被初始化了.

[此贴子已经被作者于2007-1-25 19:40:09编辑过]


----------------解决方案--------------------------------------------------------
你想问什么?


----------------解决方案--------------------------------------------------------
[QUOTE]4[/QUOTE]
----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2007-1-25 19:43:00的发言:
你想问什么?


----------------解决方案--------------------------------------------------------
不用new ,也能建立一个新的对象吗?
strIn 应该仅仅是一个对象变量而已啊。
----------------解决方案--------------------------------------------------------
他是一对象的引用
----------------解决方案--------------------------------------------------------

以下是引用lxx2844在2007-1-26 0:16:00的发言:
他是一对象的引用

能不能说明白一点,是哪个对象的引用?
因为程序中没有很直接的声明,所以不大明白。

谢谢。


----------------解决方案--------------------------------------------------------
SORRY,大伙。
少看了一句话“字符串变量是一个对象”。

谢谢各位了。
----------------解决方案--------------------------------------------------------
  相关解决方案