Java???y???????
???????????? ???????[ 2013/6/8 10:05:21 ] ????????
?????????????????????????????????????????
/*
* Java?????????????????????????
*/
interface A {}
class B implements A {}
class C implements A {}
class Test {
A b = new B();
A c = new C();
}
/*
* ??????????????? NameChanger???????Client??????
* ??NameChanger??changeName????????????Client????????????????Client?????????????????
* Client??????NameChanger??????????????????
*/
class Client {
private INameChanger changer;
private String clientName;
public Client(INameChanger changer) {
this.changer = changer;
}
public void showMyNewName() {
String newName = changer.changeName(Client.this);
System.out.println(newName);
}
public String getName() {
return clientName;
}
public void setName(String clientName) {
this.clientName = clientName;
}
}
interface INameChanger {
public String changeName(Client client);
}
public class ChangeNameTest {
public static void main(String[] args) {
Client client = new Client(new INameChanger(){
public String changeName(Client client) {
return "Mr." + client.getName();
}
});
client.setName("Tom");
client.showMyNewName();
Client client2 = new Client(new INameChanger(){
public String changeName(Client client) {
return "Miss." + client.getName();
}
});
client2.setName("Lucy");
client2.showMyNewName();
}
}
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11