java接口与内部类应用

接口技术:
用来描述类具有什么样的功能(制定一套子类应该遵守的规则),并不给出每个功能的具体实现。一个类可以实现(implements)一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。克隆对象(有时又叫深拷贝),对象的克隆既创建一个新对象。
内部类机制:
内部类定义在另外一个类的内部,其中的方法可以访问包含他们的外部类的域。
内部类技术主要设计具有相互协作关系的类集合,尤其在编写处理GUI事件的代码时,会使代码看起来更加简练专业。
接口:
接口默认是public,接口可以包含多个方法,在接口中还可以定义常量。然而要知道,接口绝不能含有实例域,也不能在接口中实现方法;提供实例域和方法实现的任务应该由实现接口的那个类来完成。所以可以将接口看作是没有实例域的抽象类,但这两个概念是有区别的。

如实现接口;
注意:在接口申明中,接口中的域将自动设为pubic static final,既常量,接口所有的方法都在自动的是public abstract,但在实现接口时,必须把对应的方法申明为public;否则编译器将认为这个方法是包可见性的,既类默认的访问属性。
接口里定义的方法只能是:抽象方法,类方法,默认方法;因此如果不是定义默认方法,系统将自动为普通方法添加abstract修饰符;普通方法都是pubic abstract ,不管是否添加修饰;接口里的普通方法不能有方法实现(方法体),但类方法,默认方法都必须有方法体。
接口里定义的内部类,内部接口,内部枚举默认都采用public static 修饰!
但是由于,java的继承是单继承(extends一个类),java采用接口机制(implemnets多个接口)
常复杂(如同c++),效率也会降低(如同Eiffel)。
内部类:
需要内部类的理由:
内部类方法可以访问该类定义所在作用域中的数据,包括私有数据。
内部类可以对同一个包中的其他类隐藏起来。
当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。

public interface A{
int num=12;
void getData();//将会被系统自动添加pubic abstract,不能有实现体
default void getData(){//默认的方法,要有实现体
return null;
}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值