java面向对象之接口

给大家一个清晰容易理解的定义;

接口:

是一组相关的交互功能点的定义的集合

我觉得这样说还是有点别扭的,别急,看了下面的代码你就会有 新的收获

首先是定义一个接口aniaml.java

package people;

public interface aniaml {

	/*
	 * java 的interface很好地体现了接口的特征
	 * 1、是一组功能的集合,而不是一个功能
	 * 2、接口的功能用于交互,所有的功能都是public的,即别的对象可操作
	 * 3、接口只定义函数,但不涉及函数实现
	 * 4、这些功能都是相关的,例如在动物的这个接口中,不适合放植物的功能
	 */
	public void eat();
	public void run();
}

重点理解上面的注释

1、是一组功能的集合,而不是一个功能
2、接口的功能用于交互,所有的功能都是public的,即别的对象可操作
3、接口只定义函数,但不涉及函数实现
4、这些功能都是相关的,例如在动物的这个接口中,不适合放植物的功能

然后进行具体的实现

pig,java

package people;

public class pig implements aniaml{
	public void eat(){
		System.out.println("pig like to eat grass");
	}
	
	public void run(){
		System.out.print("pig run :front legs");
	}
}
person.java

package people;

public class person implements aniaml{
		public void eat(){
			System.out.println("people like to eat meat");
		}
		
		public void run(){
			System.out.print("people run :leg");
		}

}
最后编写主函数

package people;

public class text {
	public static void main(String[] args){
		System.out.println("---preson---");
		aniaml Tom =new person(); 
		Tom.eat();
		Tom.run();
		
		System.out.println("---pig---");
		aniaml pig1 =new pig(); 
		pig1.eat();
		pig1.run();
	}
}
运行结果如下图所示

我想看完程序之后,大多数人都会问,这个明显可以用类进行实现,为什么要用接口呢?

在大多数情况下,这样是可以的,但有时候,你并不知道自己面对的是一个人或者一头猪,你只知道是各动物,但有希望这个动物按照你的要求进行活动。这就是接口用处的所在,即:你不知道对象所属具体的类,只知道这些对象都具有某种功能




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值