Java 类型不可见-getter方法
} 我在carToStringArray()处出错。c.getMake()、c.getModel()、c.GetMiledge()处有红色下划线,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
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));
}