只允许某些类访问私有变量的java接口
我对接口/继承有了更多的困惑。下面是一个例子。汽车类有一个私人成员gear。一辆跑车和一辆面包车。它们都是汽车。不过,只有跑车才能设置档位。面包车不能换挡(请放心)
然后就有了一个接口,IGearChangable。跑车实现了这个接口。所以跑车类有一个叫做setGear的方法。我的问题是,我如何使用装备?如果我在车里做了任何有保护的东西,即使面包车不能换挡,但面包车仍然可以换挡
public class Car
{
private int gear;
public Car()
{
gear = 1;
}
//Any setGear function here would be available to GearChangable and Non
}
public class SportsCar extends Car implements IGearChangable
{
public SportsCar()
{
super();
}
public void setGear(int gear)
{
//How do I access gear?
}
}
public class Van extends Car
{
public Van()
{
super();
}
//This class should have NO access to change gear
}
public interface IGearChangable
{
public void setGear(int gear);
}
我觉得我错过了一个概念。跑车应该有自己的私人装备吗?我觉得这也不对
共 (0) 个答案