我尝试使用类没有"扩展"来显示班级Taxi中的数组。
public class Testing {
public static void main(String[] args) {
//creating obj of Taxi
Taxi objTaxi = new Taxi();
//creating obj of Place
Place objPlace = new Place();
objPlace.displaySomething(objTaxi);
}
}
class Taxi {
String[] aaa = {"aaa", "bbb", "ccc"};
//public String getAAA() {
// return aaa;
//}
}
class Place {
public void displaySomething(Taxi aaa) { //initialize obj of Taxi
我声明了一个String类型数组来保存从obj发送到此方法的数据。 但它给了我一个错误,说"不兼容的类型" " required = String []" "找到出租车"。
String[] array = aaa; //Cannot assign array in aaa to the array.
//print all info in the array
for(int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
//System.out.println("string from Taxi : " + aaa.getAAA());
}
}
答案 0 :(得分:1)
您传递给方法aaa
的{{1}}是displaySomething
的实例,因此您无法将其分配给字符串数组。
让我们稍微改变你的代码
Taxi
答案 1 :(得分:0)
传递放置Taxi对象,然后将Taxi对象分配给String []数组。 也许尝试在Taxi中创建一个getArray方法,其中包含放在Place类中的循环,然后在Place调用aaa.getArray中,然后打印出数组。
答案 2 :(得分:0)
String[] array = aaa;
aaa是Taxi对象,因此将String []对象设置为Taxi对象是没有意义的。你想要的是:
String[] array = aaa.aaa;