有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

只允许某些类访问私有变量的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) 个答案