Java学习第十一天

  1. 什么是接口

接口是一种引用数据类型。使用interface声明接口,形式java

public interface 接口名称{编程

}spa

 

  1. 接口的特性

[1] 接口中能够声明属性(C)。接口中定义的全部变量都是static final类型的。设计

public interface MyInterface {对象

    public static final String version = "1.0";继承

    public int count = 10; // 默认是static final类型接口

}内存

 

通常不多在接口中声明属性。ci

 

[2] (C)接口中的方法都是公共抽象方法。io

public interface MyInterface {

     public abstract void showInfo();

     void showInfo3();

    

     // 推荐写法

     public void showInfo2();

}

 

[3] (C)接口不能拥有构造方法,不能用于建立对象

 

[4] 接口能够多继承。一个接口能够继承多个其余接口(B)

public interface CInterface extends AInterface, BInterface {

 

}

CInterface接口就具有了A、B接口中定义的抽象方法。

 

[5] (A) 一个类能够实现一个或者多个接口,该类称为接口的实现类(implement class).

实现类必须实现接口中的全部(抽象)方法

总结:

实现类实现接口,必须实现接口中定义的抽象方法。

  • 方法即行为,表示一种功能
  • 接口定义了一套功能,实现类必须实现这些功能 –> 实现类的能力获得拓展。

 

  1. 接口的应用
    1. [1]接口表示一种能力(B)

接口中定义的一些系列方法表示的是一种种的能力。接口让实现类实现这些能力,实现类的能力获得拓展和升级。

实现类根据自身特性实现接口中定义的方法。

 

 

  1. [2]接口实现多态(B)

接口实现多态: 接口类型 引用 实现类对象

继承实现多态: 父类类型 引用 子类对象

接口定义的方法被实现类实现,经过接口引用实现类时,调用接口中的方法时,执行的是实现类实现的方法。

 

实现类对象具有接口中定义的能力 是一种has a 关系

子类对象是一种父类类型 是一种is a 关系

 

 

  1. [3] 面向接口编程(A)

接口表示一种约定(协议),约定(规范)了实现类应该具有(has a)的能力。

 

理解:

=>实现类必须实现接口中全部的方法,因此接口规范了实现类的行为

=> 接口约定了实现类应该具有的行为。

 

面向接口编程

所谓面向接口编程,在程序设计时,只关心实现类具有什么能力,而不关心实现类如何实现这个能力。面向接口编程时,面向接口的约定而不考虑接口的具体实现。

 

也就是说,面向接口编程时,接口的定义方只关系实现类是否具有接口所定义的能力,而实现类如何被的该能力接口定义方一点都不关心。

    1. 抽象类和接口的异同比较
  • 抽象类和接口都是引用数据类型,他们都不能建立对象。
  • 他们均可以定义抽象方法,均可以实现多态。可是抽象类能够定义非抽象方法,而接口中定义的都是抽象方法。
  • 抽象类和接口都具备传递性。抽象类是单根性(单继承),而接口是多继承。
  • 在概念上,均可以重写抽象方法。子类重写抽象类,实现类实现接口
  • 抽象类和子类解决的是模块内的问题(代码重用,重写,多态)而接口解决的是模块间的问题 => 高内聚,低耦合。接口能够用解耦模块。
     
    1. Object

Object 类是全部类的根类。

若是一个类没有显示继承另一个类,那么该类必定继承于Object。

equals(Object obj) 用于判断两个对象是否相等。

 

== 比较两个对象的内存地址或基本数据类型的比较,object默认equals实现比较内存地址。

equals:用于比较两个对象的内容(属性)是否相等。

当自定义对象时,要比较自定义对象是否相等,就必须经过equals方法比较两个对象属性值是否相等,那就必须重写Object的equals方法。

 

  1. 内部类

在java中,一个文件能够定义多个类,文件名必须和public 类型的类的类名保持一致。这两个类是平行关系。

 

在java中,一个类也能够定义在一个类的内部,定义在内部的类称为内部类(inner class),定义在外部的类称为外部类(out class).

 

public class Outer {

    

     [修饰符] class Inner{

        

     }

}

 

  1. 成员内部类

一个内部类做为一个外部类的成员而存在,此时该内部类称为外部类的成员内部类

相关文章
相关标签/搜索