现在的位置: 首页 > 综合 > 正文

java学习16-接口与抽象类混合使用

2013年10月07日 ⁄ 综合 ⁄ 共 882字 ⁄ 字号 评论关闭

为什么要接口与抽象类混合使用?

接口和抽象类都是共性的高级抽象,但是接口有个缺点,如果实例类都实现接口,必须复写接口所有的方法,如果实例类继承抽象类则可以不完全复写所有的方法,那么,实例类可以复写抽象父类的任意一个方法,就不用复写那些多余的方法。

我们可以把程序设计成如图:

程序:

package com.dragon.src;

/**
 * 
 * 定义一个接口,声明一些共性的方法
 * 
 * @author DRAGON
 * 
 */
interface People {
	public void run();

	public void eat();

	public void sleep();

	public void drink();
}

/**
 * 使用抽象类来实现接口
 * 
 * @author DRAGON
 * 
 */
abstract class Person implements People {
	@Override
	public void run() {
	}

	@Override
	public void eat() {
	}

	@Override
	public void sleep() {
	}

	@Override
	public void drink() {
	}
}

/**
 * 继承抽象类
 * 
 * @author DRAGON
 * 
 */
class Dragon extends Person {

	@Override
	public void eat() {
		System.out.println("Dragon跑起来啦");
	}
}

/**
 * 继承抽象类
 * 
 * @author DRAGON
 * 
 */
class Xx extends Person {
	@Override
	public void sleep() {
		System.out.println("Xx睡啦");
	}
}

/**
 * 主函数类
 * 
 * @author DRAGON
 * 
 */
public class Abstract_Interface {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Dragon dragon = new Dragon();
		dragon.eat();

		Xx xx = new Xx();
		xx.sleep();
	}
}

避免复写多余的方法,使用抽象类与接口混合灵活使用,有利于程序的优化。

抱歉!评论已关闭.