/**
* 重写和重载是多态的主要变现形式,在这里用重载体现JAVA语言的多态性,
* 写4个prints()方法,具有相同的方法名,但是具有不同的参数类型,
* 根据所传递的参数类型不同,调用不同的prints()方法
*/
package cn.com.panduantype;
public class If {
String str,str1;
int i;
boolean bool;
double d;
Print m=new Print();
public void panduan(String str){
//判断输入的数据是否包括“'”,决定是否是字符序列。
if((str.indexOf("'"))!=-1){
m.prints(str);
return;
}
//判断输入的数据是否包含小数点
i=str.indexOf(".");
//不包含小数点,不可能是double型
if(i==-1){
//转换成大写形式
str1=str.toUpperCase();
if(str1.equals("TRUE")||str1.equals("FALSE")){//是boolean型值
bool=Boolean.parseBoolean(str); //转换成boolean型值
m.prints(bool);
}else{
i=Integer.parseInt(str); //是int型的,转换成int型值
m.prints(i);
}
}else{//包含小数点是double型值
d=Double.parseDouble(str);
m.prints(d);
}
}
}
|
|