接口
1) 接口关键字:interface,修饰符只有public和默认
2) 接口中定义的域变量名全是final static
3) 接口无构造方法,所有成员方法都是抽象方法
4) 具有继承性
5) 接口和子接口都不能有自己的实例对象,但可有自己的声明
例1
abstract class Door
{
public abstract void open();
public abstract void close();
}
interface 防盗接口
{
public abstract void 防盗();
}
interface 防水接口
{
public abstract void 防水();
}
interface 防火接口
{
public abstract void 防火();
}
class 防盗门 extends Door implements 防盗接口
{
public void open()
{System.out.println("我是防盗门,我实现了open()方法");}
public void close()
{System.out.println("我是防盗门,我实现了close()方法");}
public void 防盗()
{System.out.println("我是防盗门,我实现了防盗()方法");}
}
class 高科技门 extends Door implements 防盗接口,防水接口,防火接口
{ public void open()
{System.out.println("我是高科技门,我实现了open()方法");}
public void close()
{System.out.println("我是高科技门,我实现了close()方法");}
public void 防盗()
{System.out.println("我是高科技门,我实现了防盗()方法");}
public void 防水()
{System.out.println("我是高科技门,我实现了防水()方法");}
public void 防火()
{System.out.println("我是高科技门,我实现了防火()方法");}
}
class Car implements 防盗接口
{
public void 防盗()
{System.out.println("我是car,我实现了防盗()方法");}
}
public class InterFaceTest1
{
public static void main(String[] args)
{
防盗门 fdm=new 防盗门();
高科技门 gkjm=new 高科技门();
Car car=new Car();
fdm.open();
fdm.close();
fdm.防盗();
gkjm.open();
gkjm.close();
gkjm.防盗();
gkjm.防水();
gkjm.防火();
car.防盗();
}
}
运行效果:

例2
interface Fly
{
public abstract void fly();
}
class airplane implements Fly
{
public void fly(){ System.out.println("我是飞机,我有助推器,我可以飞行。");}
}
class birds implements Fly
{
public void fly(){ System.out.println("我是麻雀,我有翅膀,我振翅高飞。");}
}
public class InterfaceTest
{
public static void main(String[] args)
{
Fly a1=new airplane();
Fly a2=new birds();
a1.fly();
a2.fly();
}
}
运行效果:

浙公网安备 33010602011771号