我正在学习java。我正在尝试使用复合设计模式。我正在尝试使用以下逻辑。(别笑,我知道这是非常基本的:))
Item -> interface
Folder -> class
File -> class
Run Code Online (Sandbox Code Playgroud)
在文件夹类中,我可以创建一个Item的数组列表来存储文件信息吗?
ArrayList<Item> info = ArrayList<Item>();
Run Code Online (Sandbox Code Playgroud)
或者我应该使用文件夹Arraylist?
ArrayList<Folder> info = ArrayList<Folder>();
Run Code Online (Sandbox Code Playgroud)
我不知道接口是否可以存储真实数据,因为没有变量只有函数定义。
感谢您帮助新手:)
你可以两者都做(进行一些语法修正)
List<Item> info = new ArrayList<Item>();
Run Code Online (Sandbox Code Playgroud)
对于这条评论:
我不知道接口是否可以存储真实数据,因为没有变量只有函数定义。
接口不仅仅提供函数定义。最重要的是,他们定义了一个类型。info,如上声明,是类型为 的对象的列表Item。这些对象肯定可以存储数据。
例如,请考虑以下情况:
interface Item { ... }
class Folder implements Item { ... }
Item it = new Folder();
Run Code Online (Sandbox Code Playgroud)
现在,it指的是 的一个实例Folder,它是一个Item。
| 归档时间: |
|
| 查看次数: |
11619 次 |
| 最近记录: |