自从我开始学习泛型以来,我对实例创建有点困惑,因为我意识到例如,你可以像这样创建一个HashMap,
HashMap hashmap = new HashMap();
Run Code Online (Sandbox Code Playgroud)
但是也,
HashMap<String,String> hashmap = new HashMap<String, String>();
Run Code Online (Sandbox Code Playgroud)
虽然我也可以像这样声明实例hashmap,因为HashMap是从Map Interface实现的
Map<String,String> hashmap = new HashMap<String, String>();
Run Code Online (Sandbox Code Playgroud)
但如果以上是真的,那么我也可以用这种方式创建ArrayList的实例,是不是?
List<String> arraylist = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
而且,如何定制自定义,让我们说类Walk从接口Move实现,所以创建一个Walk的实例对象我可以使用这两个代码,
Walk walk = new Walk();
Move walk = new Walk();
Run Code Online (Sandbox Code Playgroud)
而这些不会引起问题,这两个声明是否相同?实现是启用该功能的关键功能,而类是如何从另一个扩展到类,父类扩展,这是合法的吗?
Father son = new Son();
Run Code Online (Sandbox Code Playgroud) 我需要使用堆栈来创建存储对象的列表,我尝试查找API,但是,我不知道我应该参考哪种语法.
这是我的代码:
public class Rock {
public String name;
public Rock(String name){
this.name=name;
}
}
public class RockTest{
public static void main(String[] args){
Rock r1 = new Rock("eluanshi");
Rock r2 = new Rock("jingangshi");
Rock r3 = new Rock("dalishi");
Stack(r1,r2,r3); // this is obviously wrong but how can i deal with it
}
}
Run Code Online (Sandbox Code Playgroud)