OOD Java如何使两个类一起工作
嗨,我想用java创建两个类,一个叫做Students,另一个叫做Results。 但是我希望其他类也能够访问类结果。我希望老师们也能使用它。我不知道该怎么做 如果我的学生班有OOD Java如何使两个类一起工作,java,class,object,Java,Class,Object,嗨,我想用java创建两个类,一个叫做Students,另一个叫做Results。 但是我希望其他类也能够访问类结果。我希望老师们也能使用它。我不知道该怎么做 如果我的学生班有 private int id private String name; private String classname; 我希望我的结果类从txt文件中读取结果,例如1234567,C 我如何让他们两个互相交谈,并允许结果被其他班级使用?我不确定我应该在哪里声明将在结果中读取的arraylist,我也不确
private int id
private String name;
private String classname;
我希望我的结果类从txt文件中读取结果,例如1234567,C
我如何让他们两个互相交谈,并允许结果被其他班级使用?我不确定我应该在哪里声明将在结果中读取的arraylist,我也不确定如何向学生引用它。
提前感谢您的帮助:)这是一个可视性问题:
public
:所有包及其类都可以使用该类(当然,通过导入包)
protected
:同一包中的所有继承类和非继承类都可以使用该类
private
:只有类及其内部方法和属性才能使用该类
因此,在定义类、属性和方法时,请注意这些规则
我已经告诉过他们可以使用这个类,方法和属性也是如此。在学生类中编写一个构造函数进行初始化。或者编写一个公共方法来进行操作,因为私有作用域在类中。你可以在子类中访问继承,除了当前的
id
、name
和className
属性,比如私有HashMap testResults,听起来你需要的是让你的Student
类维护继承
属性,该属性跟踪他们在不同类的各种测试中的个别结果(如果每个学生
只参加一个类,则可以将其设置为列表
,而不是哈希映射
)。教师
类可以通过getter方法访问此属性:
public Results getTestResults(String className) {
return testResults.get(className);
}
(同样,这是针对HashMap
版本的;如果只使用列表,则不需要字符串
参数)
由于不同学生的结果存储在同一个文件中,因此要将结果实际加载到每个学生,需要某种实用程序类。您需要在某处维护一个Student
对象的集合,以便在文件中遇到每个Student时按ID查找,然后为该行创建Results
对象,并在运行时将其存储在相应的Student
中
希望这为你指明了正确的方向。@Jixi绝不是这样。
结果是学生的属性,还是独立于学生和老师的属性?我不确定应该是什么?我的意思是概念上的-例如,结果
是测试结果吗(这意味着它可能是学生
)的一个属性,或者是某种其他结果?一个结果是一个测试结果,因此会有一个包含来自不同学生的多个测试结果的文件。我希望教师也能访问它们。这是一个相当神秘的格言,因为(语法)。