获取方法的另一个类的返回类型而不扩展

时间:2018-01-25 08:42:49

标签: java

我见过很多代码,其中class&#39的方法返回类型是另一个类没有扩展的类型。

我想了解一个类如何能够负担或生成一个方法,其返回类型是另一个类的类型,它们之间没有任何关系。

如果一个人延伸到另一个,那么我认为他们之间存在某种关系,但是当没有关系的时候怎么样。

在接口的情况下,当我们不实现时,它会创建一个实现该接口的匿名,然后完成任务。但在这种情况下怎么样?是否遵循相同的规则..?

考虑下面的代码,是否可能......?如果是,那么如何以及为什么......?

# Load data
data = get_data()

# Storage for B
B = np.empty(shape=data.shape)

# Process data
for idx, data_B in enumerate(data):
    # Process data
    a, b, c = model(data_B)

    # Reshape and feed in B
    B[idx * batch_size:batch_size * (idx + 1)] = np.squeeze(np.concatenate((a, b, c), axis=1))

2 个答案:

答案 0 :(得分:0)

你会混淆对象“是什么”以及对象“产生/生成”

让我们与人类进行类比

人类是哺乳动物,因此人类延伸哺乳动物

人类可以制作钱包。确定钱包不是人类。

所以我可以写:

public class Human extends Mammal{
    public Wallet createWallet(){
        return new Wallet();
    }
}

答案 1 :(得分:0)

是的,有可能。因为可以返回任何类型的Object。 Object是类的实例,无论是String,Long还是任何用户定义的类。可以在任何其他类的方法中返回类的实例,而两个类之间没有任何关系。