如何从另一个类构造函数调用变量(长度、宽度、高度)

如何从另一个类构造函数调用变量(长度、宽度、高度)


试图从 A 类调用变量长度、宽度、高度


不能这样做


   class A {

            int length;

            int breadth;

             int height;

        A(int length,int height,int breadth)

        {

            this.length=length;

            this.height=height;

            this.breadth=breadth;

        }   


    }


    class B extends A

    {      

            public void display()

        {

            System.out.println("Length of the rect is "+length);

            System.out.println("Height of the rect is "+height);

            System.out.println("Breadth of the rect is "+breadth);

        }


    }

    class Inheritence

    {

        public static void main(String [] args)

        {

            new A(5,6,7);

            new B().display();

        }

    }


慕娘9325324
浏览 143回答 3
3回答

慕的地10843

我试图从 A 类中调用变量长度、宽度、高度不,您可能想使用 A实例中的变量。我认为您需要的是在B其中定义的复制构造函数,它将作为参数 a A。所以定义它,B例如public B(A a){   super(a.length, a.breadth, a.height);}现在你可以这样做:A a = new A(5,6,7);new B(a).display();

慕运维8079593

A objA = new A(5,6,7)-使得称为对象objA和属性集length,breadth并height以5,6,7分别。B objB = new B()- 创建一个objB使用新属性调用的对象length,breadth并且height根本不设置它们,因此没有什么可显示的。如果要将值设置为类的属性,请在类B中创建构造函数B并将值分配给字段length,breadth并height从中继承A。

陪伴而非守候

您需要做两件事:将访问修饰符更改为 protected(在此处阅读)在 B 中创建一个构造函数来设置这些参数的值,例如public B(int length, int breadth, int height) {    super(length, breadth, height);}完成后,B将可以访问这些成员,并且您将能够打印这些值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java