"怎么做才能保证我在TMethod方法中(person)设置的数据可以使用?这个逻辑是怎么样的?" 这是什么意思,是指你设置完数据之后可以取出来吗? 是的话其实可以这样。 public interface Nameable{ public void setName(String name); public String getName(); }public class Person implements Nameable{ private String name; public void setName(String name){ this.name = name; } public String getName(){ return name; } } public class Test{ public static void main(String[] args){ Nameable nameable = new Person(); nameable.setName("test"); System.out.println(nameable.getName()); } }这样就保留你的接口了。如果说你的名字是由其它对象持有的,那么可以修改Person如下。 public class Person implements Nameable{ private Nameable nameable; public Person(Nameable nameable){ this.nameable = nameable; } public void setName(String name){ nameable.setName(name); } public String getName(){ return nameable.getName(); } } 测试方法改成: public class Test{ static class NameAnno implements Nameable{ private String name; public void setName(String name){this.name=name;} public String getName(){return name;} } public static void main(String[] args){ Nameable nameable = new Person(new NameAnno()); nameable.setName("test"); System.out.println(nameable.getName()); } }
赋值后Person 对象的字段就有值了。
在别的地方就可以用了 person.getname();
但是需要注意 需要在继承了Person接口的类中加一个属性字段 name 来存值,否则 你的属性是无效的。
比如 class classA implements Person {
private string name;
public void setName(String name){ this.name = name;}
public String getName(){ return this.name}}
这是什么意思,是指你设置完数据之后可以取出来吗?
是的话其实可以这样。
public interface Nameable{
public void setName(String name);
public String getName();
}public class Person implements Nameable{ private String name; public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
}
public class Test{
public static void main(String[] args){
Nameable nameable = new Person();
nameable.setName("test");
System.out.println(nameable.getName());
}
}这样就保留你的接口了。如果说你的名字是由其它对象持有的,那么可以修改Person如下。
public class Person implements Nameable{ private Nameable nameable; public Person(Nameable nameable){
this.nameable = nameable;
} public void setName(String name){
nameable.setName(name);
}
public String getName(){
return nameable.getName();
}
}
测试方法改成:
public class Test{ static class NameAnno implements Nameable{
private String name;
public void setName(String name){this.name=name;}
public String getName(){return name;}
} public static void main(String[] args){
Nameable nameable = new Person(new NameAnno());
nameable.setName("test");
System.out.println(nameable.getName());
}
}