有一个interface face{
Object getItem();
}Class Item{
int age;
String name;
get()
set()}class A implements face{
Item Item;
Item getItem(){
return new Item();
}
}我在使用A的时候是想使用接口face来代表A
class test{
public static void main(){
face f = new A();
int age = f.getItem.getAge();//这里就会报错,因为getItem返回的是一个object,我能在这句中进行类型转换吗
}}
Object getItem();
}Class Item{
int age;
String name;
get()
set()}class A implements face{
Item Item;
Item getItem(){
return new Item();
}
}我在使用A的时候是想使用接口face来代表A
class test{
public static void main(){
face f = new A();
int age = f.getItem.getAge();//这里就会报错,因为getItem返回的是一个object,我能在这句中进行类型转换吗
}}
int age = ((Item)f.getItem()).getAge();
但是你其他地方的代码有些问题,需要修改
class A implements Face{
Item item;
@Override
public Object getItem() {
return new Item();
}
}class Item{
int age; public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} String name;
}interface Face{
Object getItem();
}
class Test{
public static void main(){
Face f = new A();
int age = ((Item)f.getItem()).getAge();}}
虽然是new的是Class A但是引用是interface face, face中没有getAge()方法,固然报错
强制转换引用为Class A使用!
T getItem();
}class Item{
int age;
String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}class A implements face<Item>{
Item Item;
public Item getItem(){
return new Item();
}
}//调用的方法
face<Item> f=new A();
f.getItem().getName();