对Java中接口的初步理解

现在自学Java中,结合网上搜索、书上描写及自己的理解,对接口有一些理解,希望与大家分享一下。

接口是不同类的相同方法的集合,不过它只给出了方法的定义,并没有给出具体的实现。

就像一群杀手,有人叫他去杀一个人,他们有相同的行为——杀死目标,这就像接口,不同的杀手会用不同的手段,这如方法的具体实现,当然作为雇佣者,他们不需要了解这些,只要知道结果就行,杀死目标。所以说接口利于管理,容易理解。

假如有两个杀手,一个喜欢刺杀,另一个喜欢毒杀,有如下程序:

public class Person {
 private String name;
 
 public Person()
 {
  name = "no name";
 }
 
 public Person(String thename )
 {
  name = thename;
 }
 
 public String getName()
 {
  return name;
 }
}
public interface KillMethod {       /*接口*/
 public void kill(Person p);
}
public class Killer1 implements KillMethod {
 private String name;
 
 public Killer1(String thename )
 {
  name = thename;
 }
 
 public String getName()
 {
  return name;
 }
 
 public void kill(Person p)
 {
  System.out.println("刺杀" + p.getName());
 }
}
public class Killer2 implements KillMethod {
 private String name;
 
 public Killer2(String thename )
 {
  name = thename;
 }
 
 public String getName()
 {
  return name;
 }
 
 public void kill(Person p)
 {
  System.out.println("毒杀" + p.getName());
 }
}
public class TestAll {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  Person victim = new Person("嬴政");
  Killer1 killer1 = new Killer1("荆轲");
  System.out.print(killer1.getName());
  killer1.kill(victim);
  
  Killer2 killer2 = new Killer2("高渐离");
  System.out.print(killer2.getName());
  killer2.kill(victim);
  }
}

 

输出:荆轲刺杀嬴政

        高渐离毒杀嬴政

 

当然如果杀手喜欢用现代化的方式,比如枪杀,或者扔原子弹,那就在多创几个杀手类,不过方法还是一样,接口不需要做任何改变。这样的好处是便于程序以后的升级。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值