流觞区直

导航

面向对象 【 接口类 】 特征

声明格式:

[访问修饰符]  interface  接口名  [extends 父接口1,父接口2 ...]

{

常量定义;

方法定义;

}

 

定义接口的详细说明:

  1.访问修饰符:只能是public或者默认。

  2.接口名:和类名采用相同的命名机制。

  3.extends:接口可以多继承。

  4.常量:接口中的属性只能是常量,总是:public static final修饰。不写也是。

  5.方法:接口中的方法只能是:public abstract。省略的话,也是public abstract。

 

要点:

  1.子类通过implements来实现接口中的规范。

  2.接口不能创建实例,但是可用于声明引用变量类型。

  3.一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的。

  4.JDK1.7之前,接口中只能包含静态常量、抽象方法,不能有普通属性、构造方法、普通方法。

 

代码示例:

public interface MyInterface 
{
	/*public static final*/ int MAX_AGE = 100;
	/*public abstract*/void test01();
}

class MyClass implements MyInterface
{

	@Override
	public void test01() {
	System.out.println("MyClass.test01()");
		
	}
	
}

  

代码示例2:

/*
 * 测试接口和实现类
 * */
public interface TestInterface 
{
public static void main(String[] args)
	{
		Volant v = new Birdman();
		v.fly();
	}
}

/*
 * 飞行接口
 * */

interface Volant
{
	int FLY_HEIGHT= 1000;
	void fly();
}

//善良接口
interface Honest
{
	void helpOther();
}

class Angel implements Volant,Honest
{

	@Override
	public void helpOther() 
	{
		System.out.println("Angel.helpOther");
	}

	@Override
	public void fly() 
	{
	System.out.println("Angel.fly()");
	}//实现类可以实现多个父接口!
	
}
class GoodMan implements Honest
{

	@Override
	public void helpOther() {
		System.out.println("GoodMan.helpOther()");
		
	}
	
}

class Birdman implements Volant
{

	@Override
	public void fly() {
		System.out.println("Birdman.fly()");
		
	}
	
}  

执行结果:

Birdman.fly()

 

posted on 2019-07-21 18:15  流觞区直  阅读(145)  评论(0)    收藏  举报