Thank you very much for the validating check you provided!
i dont think it's complicated...
i read the data from a file. so i can only get the data as String.
i read the file in that format:
string,string,string,string
string,string,string,string
each line is String[].
so my dataTypes just each of the String[] fiealds, and store them in variables, so it would be easier to use them later.
for example, the TileData file is somrthing like that:
String datcode,String dataname,String isblocked,String imgcode
then the TileData class just pass the Strings into variables.
also, if i get the Map<String CodedData> i will have 2 problems:
1.CodedData is now abstract, i cant create an instance.
2.i wont have the methods of the subclass which are important for the program. (TileData has getImgCode method and isBlocked method in addition to the codedData methods).