Java 类型不可见-getter方法

Java 类型不可见-getter方法,java,junit,getter,Java,Junit,Getter,} 我在carToStringArray()处出错。c.getMake()、c.getModel()、c.GetMiledge()处有红色下划线, c、 getYear(),c.getPrice()。我得到一个错误消息“car类型的getMake()方法不可见”,但我在car类中有这个方法。我能知道我的测试代码有什么问题吗?如果您是从类外部访问getter方法,那么您需要更改可见性。例如,向公众发布: 公共字符串getMake(){ 退货; } 您可以在上了解更多信息。如果要从类外部访问get

}

我在carToStringArray()处出错。c.getMake()、c.getModel()、c.GetMiledge()处有红色下划线,
c、 getYear(),c.getPrice()。我得到一个错误消息“car类型的getMake()方法不可见”,但我在car类中有这个方法。我能知道我的测试代码有什么问题吗?

如果您是从类外部访问getter方法,那么您需要更改可见性。例如,向公众发布:

公共字符串getMake(){
退货;
}

您可以在上了解更多信息。

如果要从类外部访问getter方法,则需要更改可见性。例如,向公众发布:

公共字符串getMake(){
退货;
}

您可以在。

getMake、
getModel
GetMiledge
和其他类似的方法上阅读更多关于它的信息-这些方法都称为getter。在您的代码中,用于这些操作的访问修饰符是
private
。这意味着这些getter将无法在此类之外访问

如果要从这些类之外调用这些方法,则必须提升访问修饰符

通常我们将getter
公开
——但这只是一种惯例,没有严格的规则要求您这样做


阅读本文以详细了解此主题。

getMake
getModel
getmiliety
以及其他类似的方法-这些都称为getter。在您的代码中,用于这些操作的访问修饰符是
private
。这意味着这些getter将无法在此类之外访问

如果要从这些类之外调用这些方法,则必须提升访问修饰符

通常我们将getter
公开
——但这只是一种惯例,没有严格的规则要求您这样做


阅读这篇文章以详细了解这个主题。

所有的getter都是私有的,所以不能在课堂外使用。您应该将它们定义为
public
,或者至少具有默认可见性,假设
car
carTest
在同一个包中。

所有的getter都是
private
,因此不能从类外使用它们。您应该将它们定义为
public
,或者至少具有默认可见性,假设
car
carTest
在同一个包中

public class car {
private String make;
private String model;
private int mileage;
private int year;
private float price;

public car(String make, String model, int mileage, int year, float price) {
    this.make = make;
    this.model = model;
    this.mileage = mileage;
    this.year = year;
    this.price = price;
} 

private String getMake() {
    return make;
}

private String getModel() {
    return model;
}

private int getMileage() {
    return mileage;
}

private int getYear() {
    return year;
}

private float getPrice() {
    return price;
}

public String toString() {
    return "Make:"+getMake()+"\nModel:"+getModel()+"\nMileage:"+getMileage()+"\nYear:"+getYear()+"\nPrice:"+getPrice();
}



class carTest {
private String[] carToStringArray(car c) {
    String[] carInfo = {c.getMake(), c.getModel(), Integer.toString(c.getMileage()), 
            Integer.toString(c.getYear()), Integer.toString(c.getPrice())};
    return carInfo;
}

@Test
void verifyCarEqualityWithMakeModelYear() {
    String[] expected = {"Toyota", "RAV4", "2018"};
    car actual = new car("Honda", "Altima",45000, 2015, 12000);
    assertArrayEquals(expected, carToStringArray(actual));
}