我有一个班级员工,我有一个静态功能,带有计数员工,并计入员工类型(例如老师,助理老师,私人助理等)。为此,我有静态课程,我有一个我希望访问基类静态方法的每个子类内的员工数和静态计数。
class Employee{
private static int emp;
//...code
static void IncreaseEmployeeCount()
{
emp=emp+1;
}
}
class Teacher : Employee{
private static int tchr;
//...code
static void IncreaseTeacherCount()
{
tchr = tchr + 1;
}
}
如何使用子类访问基类静态方法。它尝试使用以下但失败并出现编译时错误:
Teacher teacher = new Teacher();
teacher.IncreaseEmployeeCount();
' Employee.IncreaseEmployeeCount()'由于其保护级别而无法访问
添加public
访问级别仍会出错:
会员' Employee.IncreaseEmployeeCount()'无法使用实例引用访问;使用类型名称来限定它
答案 0 :(得分:3)
应该是Employee.IncreaseEmployeeCount()
和Teacher.IncreaseTeacherCount()
。请记住这些是静态方法,因此它们不绑定到实例。您只需通过ClassName.StaticMethod()
答案 1 :(得分:0)
作为静态方法,您无法通过类的实例访问它。你这样做
Teacher.IncreaseEmployeeCount();
Notes原始样本有其他编译错误:
public
。int
,应该是void
或return {something};
。