2015-08-18 29 views
-4

例如,我有两个类; a.java和b.java。 a.java是一个空类,并扩展了java.util.ArrayList。子类的特征和用法

当我从b.java中的a.java创建一个对象时,是否具有与下面的示例数组列表对象相同的对象?如果不是,有什么区别?

ArrayList<String> sample= new ArrayList<String>(); 

我试图弄清楚继承的逻辑和它的各种用法。 谢谢你的回答。

+1

实际上不可能告诉你在这里问什么。 – SBI

+0

@SBI请看下面的答案。 –

回答

2

如果要扩展一个类(在这种情况下ArrayList),你必须在子类的构造函数做的第一件事是调用基类的这样的构造:

import java.util.ArrayList; 

public class Foo<T> extends ArrayList<T> { 
    public Foo() { 
     super(); 
    } 
} 

因为基类是ArrayList,这样做:

Foo<String> dummy = new Foo<String>(); 

相当于:

ArrayList<String> sample= new ArrayList<String>(); 

ArrayList上的所有函数都可以用变量dummy调用。

使用继承可以在许多使用情况有用:

  1. 添加新的功能,以现有的对象,而不改变其
  2. 办法有多态性
  3. 等等...
+0

非常感谢。我现在明白了 –