【发布时间】:2014-07-15 09:35:49
【问题描述】:
例如:
我有课
package test.inheritance.checkMultiple;
public class Company {
protected void run (){
System.out.println("Time to Run");
}
}
public class Department extends Company {
public void testDepartment()
{
Department d =new Department();
d.run();
}
}
public class Employee extends Department{
public void checkValidEmployee(){
Employee e =new Employee();
e.run();
e.testDepartment();
}
public static void main (String[] artgs)
{
Employee e =new Employee();
e.checkValidEmployee();
System.out.println("Valid Emplyee");
}
}
1) 我不希望员工类有权访问运行方法。我该怎么办?
2) 如果我想给员工类访问运行方法,而不是部门类,我该怎么办?
【问题讨论】:
-
也许你应该使用组合而不是继承?
-
一家公司包含部门,部门包含员工。它们不形成继承层次结构。
-
您到底希望您的 Employee 类做什么?您的意思是您不希望 checkValidEmployees 能够调用运行?
-
是的,这就是我想要的。
-
我不想 checkValidEmployee() 调用 run 方法