这个程序有一个地方不大理解
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的对象显式关联,为什么可以执行呢?
谢谢。