繁体   English   中英

用父类和子类声明新对象的方法之一的结果

[英]results of one of the ways to declare a new object with a parent class and a subclass

我有一个与Java有关的问题。

我有一个公共类Parent,它的子类公共类Child扩展了Parent。

如果我要声明一个新对象为

Parent p = new Child();

p可以使用儿童与家长的方法是什么? 还是只有父母?

另外,将p声明为

Child p = new Child(); 

如果孩子已经扩展了父母?

这取决于。

将其视为电视遥控器和特定品牌的电视。

父类是较旧的三星型号。 子类是较新的三星型号(可以做更多的事情!)。

如果您做Parent p = new Child(); 您是说要在新的三星机型上为旧的三星机型使用遥控器。 您当然可以这样做,但是您没有所有按钮可以使用Child类的所有新功能。 这样声明, p只能访问Parent方法。

但是,如果执行Child p = new Child(); ,那么您已经购买了全新的遥控器来搭配新的电视-现在您可以使用电视的所有功能。 p现在可以访问Parent方法和Child方法。

Java继承

class Parent
{
    public void p1()
    {
        System.out.println("Parent method");
    }
}
public class Child extends Parent {
    public void c1()
    {
        System.out.println("Child method");
    }
    public static void main(String[] args)
    {
        Child cobj = new Child();
        cobj.c1();   //method of Child class
        cobj.p1();   //method of Parent class 
    }
}

产量

Child method
Parent method

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM