gpt4 book ai didi

java - Java 中的继承

转载 作者:行者123 更新时间:2023-12-04 21:29:00 25 4
gpt4 key购买 nike

如果我在 java 中有一个名为 Foo 的抽象类,并且它有一个名为 Bar 的实现程序,那么我想知道以下内容。

假设 Foo 看起来像

public abstract class Foo {

Service serviceFoo

...

}

Bar

public class Bar extends Foo {
...
}

此外,假设我有一个带有 Foo 的实例,名为 foo,目前已实例化 serviceFoo

如果我然后声明:

Foo foo = new Bar();

这会创建一个新的 Bar 实例,它是否实例化了 serviceFoo?例如。该字段将被继承和实例化还是仅被继承?

最佳答案

当您调用 new Bar(); 时,将隐式调用 Foo 的构造函数。如果 Foo 的构造函数实例化了 serviceFoo,那么 Bar 也会实例化。如果 Foo 依赖于其他人来实例化 serviceFoo,那么 Bar 也会这样做。

FooBar 的现有实例与创建新实例时发生的事情无关。只有在构造函数中执行的代码(或作为参数传入的代码)才会对新对象产生影响。

关于java - Java 中的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834782/

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