public class Test{
String a=(String)ob; //强转
String b=ob.toString(); //toString
String c=name.toString(); //toString
//String d=(String)name; //强转 报错
}
}
public static void main(String args[]) {
Object ob="我是Object";
Name name=new Name();String a=(String)ob; //强转
String b=ob.toString(); //toString
String c=name.toString(); //toString
//String d=(String)name; //强转 报错
}
}
class Name{
}
toString方法是把一切对象都转换成String类,但是最终的结果有可能不是我们想要的内容,但是能编译通过;上面的程序Object类和自己建立的Name都能toString编译通过。
而强转(String)不一定,必须满足继承关系。String类是Object类的子类,通过编译。但是String类和Name类没有继承关系,因此编译不通过。