关于Java当中的接口的总结,一点点心得
2012-11-16 11:53
260 查看
接口 (主要注意接口的访问修饰符,在子类继承的时候,方法必须声明为public的)
接口从本质上说,是一种特殊的抽象类,只包含常量和方法的定义,而没有变量和方法的实现。也可以完全没有常量和方法,就是一个声明,这样的空接口叫标示接口,是用来通知编译器实现了该接口的类具备了某种功能,比如serialiable。
接口里面所有的方法都是抽象的。所有的方法都是抽象方法,而不需要写实现,也不能写实现。接口里面的方法必然是public abstract。
在接口中所有的方法都不可以是native、static 、final 、synchronized 、private 、protected的。
接口中可以有数据成员,但是必须是public static final,换句话说就是常量。
接口也可以继承 extends,比如 interface A extends B
接口还可以多重继承
Interface A extends B,C,D
一个类可以实现多个接口,而且都是抽象方法,还都是public的:
class A inplements B,C,D
多个类可以实现同一个接口:
class A inplements C
class B inplements C
接口也可以实现多态性(和实现类之间)也就是说,可以声明接口的父类引用去指向实现子类的对象。实际上,在这种情况下,可以把接口当成实现子类的一个父类来看待。
Java的bug?:
如果一个类实现两个接口,但是两个不同的接口中有两个同名但是返回值不一样的方法。(只能采用内部类解决)
public interface Valuable {
public double getMoney();
}
interface Protectable{
public void beProtected();
}
interface A extends Protectable{
void m();
void getMoney();
}
class Hen implements A, Valuable{
public void m(){
}
public void beProtected(){
}
public void getMoney(){
}
public double getMoney(){
return 1000;
}
}
接口从本质上说,是一种特殊的抽象类,只包含常量和方法的定义,而没有变量和方法的实现。也可以完全没有常量和方法,就是一个声明,这样的空接口叫标示接口,是用来通知编译器实现了该接口的类具备了某种功能,比如serialiable。
接口里面所有的方法都是抽象的。所有的方法都是抽象方法,而不需要写实现,也不能写实现。接口里面的方法必然是public abstract。
在接口中所有的方法都不可以是native、static 、final 、synchronized 、private 、protected的。
接口中可以有数据成员,但是必须是public static final,换句话说就是常量。
接口也可以继承 extends,比如 interface A extends B
接口还可以多重继承
Interface A extends B,C,D
一个类可以实现多个接口,而且都是抽象方法,还都是public的:
class A inplements B,C,D
多个类可以实现同一个接口:
class A inplements C
class B inplements C
接口也可以实现多态性(和实现类之间)也就是说,可以声明接口的父类引用去指向实现子类的对象。实际上,在这种情况下,可以把接口当成实现子类的一个父类来看待。
Java的bug?:
如果一个类实现两个接口,但是两个不同的接口中有两个同名但是返回值不一样的方法。(只能采用内部类解决)
public interface Valuable {
public double getMoney();
}
interface Protectable{
public void beProtected();
}
interface A extends Protectable{
void m();
void getMoney();
}
class Hen implements A, Valuable{
public void m(){
}
public void beProtected(){
}
public void getMoney(){
}
public double getMoney(){
return 1000;
}
}
相关文章推荐
- 关于dos窗口下运行java程序,中文字符打印成乱码的心得总结
- 关于Java中抽象类和接口区别的总结
- 关于Java支付宝接口的心得
- java中关于接口的知识点总结
- 关于Java接口使用总结
- java调用微信现金红包接口的心得与体会总结
- Java中关于抽象类抽象方法以及接口的总结
- 关于Java积分签到接口的编写总结
- java语言中关于抽象类和接口的区别(面试经常问到,因此总结一下)
- Java基础学习中,关于面向对象中多态、抽象类、接口的总结
- 关于java关键字synchronized的一些心得体会
- 关于抽象类和接口的学习总结一
- 关于jndi(Java Naming and Directory Interface)java的命名与目录实例的接口
- java 面试心得总结-BAT、网易
- 关于Java三大特性之多态的总结
- 关于java和jar命令的几点心得
- 关于基本排序算法的简单研究总结(java 实现)
- Java中关于泛型的总结(转)
- java基础学习总结——线程之使用Runnable接口创建线程的方法
- JAVA-抽象类和接口的区别总结