接口
1.1 概念
接口可以理解为一种特殊的类,里面全部都是由全局变量和公共的抽象方法所组成。
1.2 接口的定义格式
interface 接口名称{
全局变量;
抽象方法;
}
interface A
{
public static final string AUTHOR="lihua";
public abstract void print();//抽象方法
}
interface A
{
string AUTHOR="lihua";
void print();//抽象方法
}
以上两种定义方法是一样的,没有任何的差别。
1.3 接口的使用
接口的使用也必须有子类,子类必须覆盖全部抽象方法,用implements关键字实现,与抽象类不同的是,在接口中,一个子类金额以同时实现多个接口。如果子类不是抽象累的化,肯定要覆盖接口中的全部抽象方法。
interface A
{
String AUTHOR="lihua";
void print();//抽象方法
}
interface B{
public void say();
}
class C implements A,B
{
public void print(){
System.out.println("haha");
}
public void say(){
System.out.println("hello");
}
};
public class interfaceDemo01
{
public static void main(String args[]){
C c1 = new C();
c1.say();
c1.print();
}
}
结果:
F:\java>javac interfaceDemo01.java
F:\java>java interfaceDemo01
hello
haha
1.4 继承抽象类实现接口
一个子类可以同时继承抽象类和实现接口。
格式:
class 子类 extends 抽象类 implements 接口1,接口2{}
interface A
{
public static final String flag = "hello";
String name="haha";
};
abstract class B
{
public abstract void say();
}
class C extends B implements A
{
public void say(){
System.out.println("hello,world");
}
public void print(){
System.out.println("flag="+flag);
System.out.println("");
}
}
public class abstractDemo01
{
public static void main(String args[]){
C c = new C();
c.say();
c.print();
}
}
结果:
F:\java>javac abstractDemo01.java
F:\java>java abstractDemo01
hello,world
flag=hello