zoukankan      html  css  js  c++  java
  • Java——接口

    接口

      定义了一组对类的需求。实现接口的类,必须要实现接口内定义的方法。书中举例为,需要调用Arrays.sort()方法的类必须实现Comparable接口,而实现Comparable接口的类必须要实现Comparable接口中包含的compareTo方法。当然通常接口都定义了不止一个方法,也就是说实现接口的类通常必须要实现多个接口中定义的方法。

    接口的特性

      1、接口中的所有方法自动地属于public,所以定义接口的方法时,不需要加访问控制关键字。

      2、接口不是类,不可以用new来实例化接口。但可以声明接口变量。接口变量只能引用实现了接口的类。注:这点与抽象类相似,抽象类无法被实例化,但却可以声明该类变量且只能引用其子类对象。

      3、可以使用instanceof 检查一个对象是否实现某接口,如同检查一个对象是否属于某个特定类一样。

      4、接口之间也有继承关系。接口虽然不能包含实例域和静态方法,却可以包含常量且被自动设为public static final。

      5、一个类可以实现多个接口,却只能继承一个父类。因此,接口提供了多重继承的大多数好处,同时还能避免多重继承的复杂性和低效性。

    克隆

      原始的clone()方法提供的浅拷贝,只关注被复制的对象,却不关注复制对象所引用的对象。因此经过浅拷贝后得到的对象,与原对象是地址空间不同的对象,但它们引用的对象却依旧是同一地址空间的。为实现深拷贝,一般需要重写clone()方法,即实现Cloneable接口。

      即使clone方法的浅拷贝已经能够满足要求,同样也需要实现Cloneable接口。重写clone方法,并将其改为public,在方法内部引用super.clone()即可。

  • 相关阅读:
    macOS下查看端口是否被占用命令
    macOS下安装tomcat服务器
    unittest 知识问答题-也许面试会有用-欢迎补充
    python.unittest中常用断言方法
    如何在命令行terminal中运行pycharm项目
    如何保证 软件测试覆盖率
    如何衡量 测试覆盖率
    软件测试全流程 总结
    接口测试对传统测试模型的改进
    关于http/https协议
  • 原文地址:https://www.cnblogs.com/dloooooo/p/13761905.html
Copyright © 2011-2022 走看看