3
我正准备参加java考试。我碰到以下问题关于对象超类和铸造的问题
String s = new String ("hello");
Object o = (object) s;
由于o
和s
是指向同一个对象的引用都来了,有没有通过在参考o
参考s
访问对象有什么区别?
会我说的所有对象(比如一个是由s引用)在Java和这样的Object
子类使用参考s
,您将能够调用超类Object
像clone()
熟知的方法是正确的和String
已知的方法,如length()
。而超类对象引用o
只能调用它自己的方法,而不能调用它的子类?谢谢。
是的,这句话是正确的。 –
你完全正确。 – Sheriff
两个小注释:你不需要明确地将s转换为Object,(上传可以总是隐含的),并且你不需要创建'new String(“hello”)' - 你可以写'String s =“hello”'和's'仍然是对'String'对象的引用,与你的代码相同 - 尽管它位于不同的地方(在permgen而不是在GC上)堆“)。 – yshavit