gpt4 book ai didi

Java继承是 super 内容复制的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:28 25 4
gpt4 key购买 nike

我真的很想了解继承是如何工作的,

假设我们有类 A 和 B,B 扩展了 A,A 包含在公共(public)和方法上设置的一些属性(引用类型和原始类型)

这些属性和方法是否复制到类 B 中?我确实读到方法不会被复制,而是通过引用访问。

当我们创建 B 的实例时继承的引用类型属性怎么样?它们必须在内存中占用一些空间,并且该引用存储在哪里?在A类还是B类?原始类型怎么样,它们会被复制到类 B 中吗?它们是否位于 B 的其他属性所在的位置?

或者当您创建 B 类的对象时,您实际上创建了 A 和 B 的对象并且它们保持某种关系?

一些解释会有所帮助。

最佳答案

假设有一个 Animal 类:

public class Animal {
private String _name;

public Animal(String name) { _name = name;}

public String getName() {return _name;}
}

现在有一个 Dog 类:

public class Dog extends Animal {
public Dog() {
super("Dog");
}
}

现在,如果你这样做:

 Animal dog = new Dog();
System.out.println(dog.getName());

这就是如何使变量名称从 Dog 类到 Animal 可用。

关于Java继承是 super 内容复制的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53093619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com