对于java中接口的理解

一、抽象类:

1.一般含有抽象方法。创建抽象类对象并没实际意义,所以阻止创建该类。接口由继承他的子类实现。

2.子类继承抽象类。如果父类含有抽象方法,则需要为父类的所有抽象方法提供定义,否则,则子类也是抽象类。
    抽象类也可以不含任何抽象方法,该类不能创建任何实例。

二、接口:

1.形式:

	public interface JieKou{
		public static final int a=1;//声明常量,public static final 一般为隐含
		public abstract void jiekou();//public abstract 一般为隐含
	}

	public interface OnClickListener {
        	void onClick(View v);
   	 }
2.使用其中的一些原因:
a、任何抽象性都有真正的需求产生。
b、需要该类不能被创建对象。


3.java中回调接口的例子:


 查找网上通俗的例子:
    某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。

代码例子:

package test;
public class HuidiaoTest {
	String bookname="离散数学";

	public void setStudy(StudyCallBack studyCallBack){
		studyCallBack.studyMath(bookname);
	}
}

interface StudyCallBack{
	void studyMath(String bookname);
}

public class Test{
	public static void main(String[] agrs){
		HuidiaoTest huidiao=new HuidiaoTest();
		huidiao.setStudy(new StudyCallBack() {		
			@Override
			public void studyMath(String bookname) {
				System.out.println(bookname);
			}
		});
	}
}

/*
 * Test程序调用HuidiaoTest中的setStudy()方法,把StudyCallBack传入。
 * 然后在HuidiaoTest程序中setStudy()方法中,调用callback.studyMath(bookname),把bookname参数传进去。
 * */





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值