首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >B_b与A<B> _b的差异

B_b与A<B> _b的差异
EN

Stack Overflow用户
提问于 2010-06-09 23:44:36
回答 6查看 125关注 0票数 2

假设B类扩展了A类,我想为B声明一个变量,什么更有效,为什么?

  1. B b OR
  2. A<B> b.
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-06-09 23:53:32

你混淆了两个不同的概念。

代码语言:javascript
复制
class B extends A {

}

意味着BA

如果您有类似于A<B>的东西,这意味着您的类A被定义为

代码语言:javascript
复制
class A<T> {

}

这意味着类A是一个泛型类。

例如,(过于简化)

代码语言:javascript
复制
class List<T> {

}

因此,如果T取值String,则List<String>表示字符串的列表

所以A<B>并不意味着B extends A

您应该使用B b

票数 4
EN

Stack Overflow用户

发布于 2010-06-09 23:48:13

使用B bA<B>是一个模板类,它使用B作为类型,例如:

  • List<String>是一个字符串列表,所以List<B>应该是一个B列表,objects.
  • WeakReference<String>是对字符串的弱引用,所以WeakReference<B>是对B对象的弱引用。
票数 1
EN

Stack Overflow用户

发布于 2010-06-09 23:52:53

如果B扩展了A,那么我将尽可能多地使用A类型。

A小部件=新B();

这降低了代码的其他部分对您的实现可能做出的假设。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3010754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档