标签:
经过上周的学习,让我对JAVA中的接口有了初步了解。下面就把我学到关于接口的一些写出来。
我们需要学习接口的用法就需要先对抽象类有所了解,那么什么是抽象类呢?其实抽象类与普通类最大的区别就是:抽象类只可以声明定义,但是不可以对抽象类实例化;而对于普通类来说,我们都知道,它是可以实例化的,也就是可以生成一个对象来使用。而抽象类我们则需要用abstract关键字来修饰。同时,抽象方法是没有方法主体的,换句话说就是由abstract修饰的方法只有方法的声明,没有方法的实现。如:
/**
* 普通类
* @author Administrator
*
*/
public class Practice1 {}
/**
* 抽象类
* @author Administrator
*
*/
public abstract class Practice{}
抽象类与普通类也就是修饰的关键字不同而已。接下来就是抽象方法了,抽象方法也是用abstract关键字来修饰,抽象方法不能在普通类中定义,需要在抽象类中定义,而普通方法则可以在抽象类中定义,这样说可能有点不太清楚,那么,就请看看下面的例子:
//普通类
public class Practice1 {
// 普通方法
public void Method1() {
int a = 0;
int b = 10;
int c = a + b;
}
// 抽象方法
public abstract void Method2();
/*
* 编译器报错:The abstract method method2 in type practice1 can only be defined
* by an abstract class 大概意思是实现抽象方法只能由一个抽象类定义
*/
}
// 抽象类
public abstract class Practice {
// 普通方法
public void Method1() {
int a = 0;
int b = 10;
int c = a + b;
}
// 抽象方法
public abstract void Method2();// 编译通过
}
对于接口与抽象类来说,接口可以将设计和实现分离,抽象类比接口更灵活,因为抽象类中可以有普通方法,而接口中只能有抽象方法,大家可以根据情况选择性的使用。只要我们清楚了抽象类,那么接口就好理解多了。首先我们可以把接口理解为抽象类的加强版,因为接口中的方法都是抽象方法,其次就是接口不能直接实现。接口的声明我们用interface关键字来修饰,而接口的实现我们则用implements关键字来修饰。
接口的定义:访问修饰符 + interface + 接口名 + 方法主体 !大家还要需记住,接口中没有构造器,在接口中定义的成员变量全为共有静态常量,例如:
//接口的定义 public interface Practice2{ //变量的声明 int a = 10 ; //其实下面的才是完整的声明,不过两个的结果都一样,一般我们都写上面那一种,更简洁 public static final int a = 10 ; }
接口的实现:implements + 接口名 或者 implements + 接口1,接口2,接口3... !一个类可以有多个接口,例如:
//接口的实现 public class Practice3 implements Practice2 { /** * 这里面写接口中方法的实现 */ }
最后,接口实现后就可以在其它类中使用了,希望可以对大家理解接口有所帮助,同时其中有误的希望大家可以提出,帮我改正下。
标签:
原文地址:http://www.cnblogs.com/lxdblog/p/4418166.html