Java最不容易明白的知识点【接口】


接口是Java实现多继承的一种机制,一个类可以实现一个或多个接口。接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。简单的说接口不是类,但是定义了一组对类的要求,实现接口的某些类要与接口一致。

在Java中使用关键字interface来定义接口。例如:

public interface Compare { 
 public int compare(Object otherObj); 
} 

Compare接口定义了一种操作compare,该操作应当完成与另一个对象进行比较的功能。

让类实现一个接口需要使用关键字implements,然后在类中实现接口所定义的方法。

public class Student extends People implements Compare{ 
private String sId; //学号
//Constructor 
10
 public Student() { 
this("","",""); 
} 
 public Student(String name,String id,String sId){ 
super(name,id); 
this.sId = sId; 
} 
public void sayHello(){ 
super.sayHello(); 
   System.out.println("I am a student"); 
} 
 //get & set method 
public String getSId(){ 
return this.sId;} 
 public void setSId(String sId){ 
this.sId = sId;} 
 //implements Compare interface 
 public int compare(Object otherObj){ 
Student other = (Student)otherObj; 
return this.sId.compareTo(other.sId); 
} 
}

第一个知识点:
需要注意的是在Java中接口不是类,因此不能使用new实例化接口。
虽然不能通过new构造接口对象,但是可以声明接口变量【什么叫接口变量,其实接口也是一种数据类型,数据类型当然可以申明变量了,所以叫接口变量】。并且只要类实现了接口,就可以在任何需要该接口的地方使用这个接口的对象。
例如:
Compare com = new Student(“kunkun”,”0007”,”2017110110”);
反之也可以将一个接口变量转换为对某个类的对象的引用,不过此时要进行强制转换。
例如:
Student s = (Student) com;
把这句和上句代码合并就是
Student s = new Student(“mimi”,”0008”,”2017110111”);
好好思考你就很容易融会贯通了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值