JAVA难以理解的问题!

这个问题我们老师讲过了,书上讲过了,还是不理解,希望举详细一点的例子啊!最好是代码。 比如:有父类 Person ,子类: Students; Person p1是什么意思? 与Person p2=new Person();p1与p2到底有什么区别?? 可以这样写吗:Person p3=new Students();?? p1,p2,p3它们又是什么区别??有什么用?? 如果Students不是Person 的子类,是不是就不可以这样写??希望讲得仔细点啊!! 还有就是Students s1=new Students()与Students s2=new Students(),s1 s2 它们有区别吗??? 是不是除了名字外,其它的就没区别了?Person p3=new Students()与Students s1=new Students(),p3 s1它们有什么区别?什么时候写这样写:Person p3=new Students(),什么时候这样写:Students s1=new Students(),还有Person p1??
2026年09月25日 03:24
有3个网友回答
网友(1):

p1与p2到底有什么区别??-----p1只分配了引用空间,p2分配引用空间并存入地址
Person p3=new Students();?? -----可以,这是多态,父类引用指向子类对象
p1,p2,p3它们又是什么区别??有什么用??------指向不同的对象地址,就是不是同一个对象。
如果Students不是Person 的子类,是不是就不可以这样写??------没错,但是如果Person是个接口而Students实现了它就可以那么写。
Students s1=new Students()与Students s2=new Students(),s1 s2 它们有区别吗???-------不同的对象引用。
Person p3=new Students()与Students s1=new Students(),p3 s1它们有什么区别?-------s1可以调用Students中特有的方法,p3只能调Students继承的Person的方法。
什么时候写这样写:Person p3=new Students()-------多态,需要提高扩展性时候
什么时候这样写:Students s1=new Students()--------随便。

网友(2):

这么多问题,才5分啊
比如:有父类 Person ,子类: Students; Person p1是什么意思?
与Person p2=new Person();p1与p2到底有什么区别??
p1只是声明了一下,p2 分空间了

网友(3):

其实这个问题比较难讲清楚,你只要去看一下C++中关于类,基类,子类的相关知识,这个很容易理解的。