Java SE 基础之接口回顾

以下是对《JAVA 核心技术 卷1 基础知识第十版》接口部分的重温和总结,如有错误等,敬请谅解,欢迎指正:


1.接口是什么?

    接口是对类的一组需求描述,类遵循接口描述的同一格式进行定义。
    接口是没有实例域的抽象类。

2.接口中可以定义常量,默认实现类也为此值。如果实现类单独定义,则为实现类的值。
    接口中不可以有私有的东西存在,默认为public,并且建议不需要写。

3.接口和抽象类:
    (1).扩展抽象类,需要单继承。这样就不利于多实现,所以接口更容易扩展,实现多个类。
    
4.Java SE 8中 接口新特性:
    |--允许在接口中定义静态方法/    例如:Collection/Connections,现在可以不需要再为使用工具提供伴随类。
    |--可以提供default的默认方法 例如:
        public interface Person {
            int PERSON_AGE =20;
            void say();
            
            void read();
            
            default int getAge(){
                return PERSON_AGE;
            }
        }
        |--解决默认方法的冲突:
            准则:超类优先:如果超类提供了具体方法,则同名同参的默认方法就被忽略。
                    接口冲突:如果超接口有了默认方法,同名同参的,需要覆盖解决。一般,如果实现的两个接口
                        有同名同参的默认方法,会在实现类中抛错让程序员解决这个二义性。
                        如果是继承一个类,实现一个接口呢?那么基于类优先原则,接口方法会被忽略。

5.Cloneable(标记接口):clone方法
默认浅拷贝,深拷贝是解决拷贝对象中可变子对象。

转载于:https://my.oschina.net/kevin1992/blog/913519

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值