public interface IUserinfo{
public void setName();
}
public class UserInfoImp implents IUser info{
private string name;
public void setName(String _name){
this.name = _name;
System.out.println("111" + this.name);
}
}
public class InfoUI{
public static void main(String[] args){
IUserInfo userInfoI = new UserInfo();
UserInfo userInfo = new UserInfo();
userInfoI.setName("kddd by userInfoIne");
userInfo.setName("王");
}
}
IUserInfo userInfoI = new UserInfo();
这边有点不明白, userInfoI这个是个接口对象,怎么引用接口的实现类对象呢?
正常不是应该按照下面这样写吗?
UserInfo userInfo = new UserInfo();
public void setName();
}
public class UserInfoImp implents IUser info{
private string name;
public void setName(String _name){
this.name = _name;
System.out.println("111" + this.name);
}
}
public class InfoUI{
public static void main(String[] args){
IUserInfo userInfoI = new UserInfo();
UserInfo userInfo = new UserInfo();
userInfoI.setName("kddd by userInfoIne");
userInfo.setName("王");
}
}
IUserInfo userInfoI = new UserInfo();
这边有点不明白, userInfoI这个是个接口对象,怎么引用接口的实现类对象呢?
正常不是应该按照下面这样写吗?
UserInfo userInfo = new UserInfo();
1.IUserInfo userInfoI = new UserInfo();
父类引用指向子类对象,这是多态的属性, 向下转型,父类引用指向子类对象。并且这样定义之后
只要是它的子类都可以处理,比较灵活。所以会使用用接口方式来引用子类对象。