如何解决为子类创建对象时,如何从 hashMap 实现属性?
我想做的基本上是迭代我的流派并使用我的 hashMap 作为查找表,然后在创建对象时选择流派。我不知道接下来我需要做什么,因为当我已经有了一个新的构造函数时,它总是给我错误提示。
import java.util.HashMap;
import java.util.Scanner;
public class disc {
private String title;
private String releaseDate;
HashMap<Integer,String> genre = new HashMap<Integer,String>();
Scanner mainInput = new Scanner(system.in);
public disc(String releaseDate,String title,HashMap<Integer,String> genre) {
this.title = title;
this.releaseDate = releaseDate;
this.genre = genre;
this.genre.put(1,"Horror");
this.genre.put(2,"Action");
this.genre.put(3,"Hip-Hop");
this.genre.put(4,"Pop");
this.genre.put(5,"Jazz");
this.genre.put(6,"Thriller");
}
子类:
import java.util.HashMap;
public class game extends disc{
private int PEGIrating;
private String Platform;
public game(int PEGIrating,String Platform,String releaseDate,String> genre){
super(releaseDate,title,genre);
this.PEGIrating = PEGIrating;
this.Platform = Platform;
game g = new game(18,"PS5","Evil Within","Feb 2018",1);
}
}
解决方法
您正在尝试在 game() 构造函数中初始化游戏对象...
public game(int PEGIRating,String Platform,String title,String releaseDate,HashMap<Integer,String> genre){
super(releaseDate,title,genre);
this.PEGIRating = PEGIRating;
this.Platform = Platform;
// >>> game g = new game(18,"PS5","Evil Within","Feb 2018",1); <<<<
}
,
如上所述,您正在游戏构造函数中初始化游戏对象,该对象将编译但可能会导致运行时问题。
为此,您将一个 int 数据类型传递到游戏构造函数的最后一个参数中,而不是传递一个 HashMap
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。