```
//测试类
public class ExtDemo
{
public static void main(String[] args) {
CellPhone Apple = new Apple("苹果");
Person person = new Person("熊大");
person.SendByTel(Apple);
CellPhone Sunsum = new Sunsum("三星");
Person person1 = new Person("熊二");
person1.SendByTel(Sunsum);
}
}
//抽象出来的接口
interface Tel
{
public void SendText();
}
//策略父类
class CellPhone implements Tel
{
public String name;
CellPhone(String name)
{
this.name = name;
}
@Override
public void SendText() {
System.out.println("用"+name+"手机发短信速度一般");
}
}
//策略子类
class Apple extends CellPhone
{
Apple(String name) {
super(name);
}
@Override
public void SendText() {
System.out.println("用"+name+"手机发短信速度一般");
}
}
class Sunsum extends CellPhone
{
Sunsum(String name) {
super(name);
}
@Override
public void SendText() {
System.out.println("用"+name+"手机发短信速度一般");
}
}
class Xiaomi extends CellPhone
{
Xiaomi(String name) {
super(name);
}
@Override
public void SendText() {
System.out.println("用"+name+"手机发短信速度一般");
}
}
//具体场景
class Person
{
String name;
public Person(String name)
{
this.name=name;
}
public void SendByTel(Tel tel)
{
System.out.print(name);
tel.SendText();
}
}
“`