ITPub博客

首页 > 应用开发 > Java > Java 面向对象 之 接口 interface

Java 面向对象 之 接口 interface

Java 作者:huyang_ya 时间:2018-08-26 07:53:36 0 删除 编辑

转载于 :  http://www.verejava.com/?id=16992815279749  

/**
	知识点: 接口 interface (重点中的重点)  面向接口的编程
		接口的定义: 接口就是一个约定
	题目: 主席说要建立和谐社会,温家宝说要为人民服务
	思路:
		1. 抽象出类: 主席(ChairMan),  省长(Governer)
		2. 找出关系: 各省省长传达并实现  主席讲话方针
*//**
	注意:
		1. 声明一个接口关键字为 interface
		2. 接口中不允许定义方法的实现,只能是声明, 跟抽象类有所不同, 抽象类是
			允许定义具体方法的.  所以接口有的时候也称为特殊的抽象类
		3. 接口中方法的声明可以省略关键字 abstract ,抽象类中的抽象方法不能省略
		4. 接口中方法默认都是public 的
		5. 接口中的属性都是静态常量  static final 关键字可以省略,接口中属性默认
		   是public 的并且可以省略public ,不允许有private,protected 关键字修饰
		6. 实现接口的类用关键字 implements 
		7. 实现类中必须 实现接口中的所有声明方法, 跟抽象类一样
		8. 不能实例化接口, 必须有其实现类间接实例化, 跟抽象类一样
		9. 如果要实现多个接口用, 隔开, 并且实现类要实现所有接口的方法, 而
			抽象类不能多继承
		10. 接口可以继承多个接口, 抽象类不行(这个就是为什么流行用面向接口编程的原因)
		11. 类可以同时继承一个类和实现多个接口
*/public class TestInterface {	
	public static void main(String[] args) {		//输出主席名称
		System.out.println(ChairMan.name);		//实例化接口
		//ChairMan chair=new ChairMan();
		System.out.println("开各省大会了...");
		Governer g1 = new Governer("北京市市长");
		g1.buildHarmonyCommunity("教育");
		g1.serviceForPeople("慈善");
		Governer g2 = new Governer("河北省省长");
		g2.buildHarmonyCommunity("联谊晚会");
		g2.serviceForPeople("尊老爱幼");
		g2.service();
	}
}interface ChairMan {
	String name = "主席";	//声明要建立和谐社会
	public void buildHarmonyCommunity(String method);
}interface PrimeMinister {
	String name = "总理";	//声明为人民服务
	public void serviceForPeople(String method);
}interface Leader extends ChairMan, PrimeMinister {
}class LeiFeng {	
	public void service() {
		System.out.println("全心全意为人民服务");
	}
}class Governer extends LeiFeng implements Leader {	
	private String name;//省长名
	public Governer(String name) {		this.name = name;
	}	//实现主席建立和谐社会的方针
	public void buildHarmonyCommunity(String method) {
		System.out.println(name + " 我们是通过 " + method + " 来实现和谐社会");
	}	//实现总理为人民服务的方针
	public void serviceForPeople(String method) {
		System.out.println(name + " 我们是通过 " + method + " 来为人民服务的");
	}	public String getName() {		return this.name;
	}
}

转载于 :  http://www.verejava.com/?id=16992815279749  

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10054744/viewspace-2212834/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10+ 年软件和互联网研发架构经验,喜爱编程 , 读书

注册时间:2013-05-02

  • 博文量
    55
  • 访问量
    35712