接口作为成员变量类型
public class Hero {
private String name;
private SKill sKill;
public Hero() {
}
public Hero(String name, SKill sKill) {
this.name = name;
this.sKill = sKill;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SKill getsKill() {
return sKill;
}
public void setsKill(SKill sKill) {
this.sKill = sKill;
}
public void attack(){
System.out.println("我叫='" + name +",开始释放技能:");
sKill.use();//调用接口中的方法
System.out.println("释放技能完成");
}
}
public class Tests {
public static void main(String[] args) {
Hero hero = new Hero();
hero.setName("赵云");
hero.setsKill(new SKill() {
@Override
public void use() {
System.out.println("chua");
}
});
hero.attack();
}
}
public interface SKill {
//释放技能的抽象方法
void use();
}
接口作为方法的参数和或返回值
public static void main(String[] args) {
List<String> list = new ArrayList<>();
List<String> result = addName(list);
for (int i = 0; i < result.size(); i++) {
System.out.println(list.get(i));
}
}
public static List<String> addName(List<String> list){
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
return list;
}
![]()