Java,如何让上层类的变量保持为null;如何从子类中获取 'hide'变量?

标签 java subclass hidden

我有四节课。 Person 类,以及另外三个类,StudentProfessorTutor,每个类都扩展了 Person 类。 Person 类有 2 个变量 studentIDstaffID。但是,只有学生可以拥有 studentID != null,导师和教授可以拥有 staffID != null。现在,在创建新对象 Student 时,如何确保无论 StaffID 是什么,始终保持为 null? StaffID 必须保留在 Person 类中,因此不能移动它。

最佳答案

继承的要点是,只有对父类有效的值和函数(成员)才会放置在父类中,而任何特定于子类的成员都会放置在子类中。

不要滥用面向对象,将 staffID 移动到您的子类中。

我的建议是创建一个包含 staffIDStaff 类,让它继承 Person,然后继承 Professor 和 Tutor 继承自它。然后将 studentID 移动到 Student 类中。这样,只有 ProfessorTutor 可以访问 staffIDStudent 则不能, 反之亦然学生ID。所有类仍然可以分配给 Person 类型。

关于Java,如何让上层类的变量保持为null;如何从子类中获取 'hide'变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972538/

相关文章:

java - 正确实现 CompareTo

hidden - 如何使 tar 排除隐藏目录

tumblr - 什么是{ block :Hidden} and when is it used?

java - 在并行 Java 流中处理随机数

ios - 从 UITableViewCell 子类调用 UIActionSheet

java - blueJ kareltje 在世界各地 build 港口

iphone - Objective-C 子类问题

c# - MVC2 C# TextAreaFor 包含 ', ,'

java - 布局充气器 nullPointerException

java - 在 Java 中序列化和反序列化 android.graphics.Bitmap