170306

来源:互联网 发布:java long 最大长度 编辑:程序博客网 时间:2024/06/05 15:35

 1625-5 王子昂 总结《2017年3月6日》 【连续第156天总结】

A.Java 接口与内部类20%

B.接口:主要用来描述类具有什么功能,而并不给出每个功能的具体实现。一个类可以实现一个或多个接口,并在需要接口的地方随时使用实现了相应接口的对象。

了解接口以后,再看一下克隆对象(有时又称为深拷贝)。对象的克隆是指创建一个新对象,且新对象的状态与原始对象的状态相同。当对新对象进行修改时,不会影响原始对象的状态。

内部类机制:内部类定义在另外一个类的内部,其中的方法可以访问包含它们的外部类的域,这是一项比较复杂的奇数。内部类奇数主要用于设计具有相互协作关系的类集合。特别是在编写处理GUI时间的代码时,使用它将可以让代码看起来更加简练专业。

代理是一种实现任意接口的对象。用来构建系统级的工具。

在Java中,接口不是类,而是对类的一组需求描述。这些类要遵从接口描述的统一格式进行定义。

eg:public interface Comparable

{

int compareTo(Object other);

}

这就是说,任何实现Comparable接口的类都需要包含compareTo方法。

接口中的所有方法自动地属于public。因此,在接口中声明方法时,不必提供关键字public

接口决不能含有实例域,也不能在接口中实现方法。提供实例域和方法实现的任务应该犹实现接口的那个类来完成。因此,可以将接口看成是没有实例域的抽象类。

为了让类实现一个接口,通常需要两个步骤:1.将类声明为实现给定的接口2.对接口中的所有方法进行定义

要将类声明为实现某个接口,需要使用关键字implements: 

eg:class Employee implements Comparable

虽然在接口中不需要使用public声明权限,但是在定义方法的类中,还是需要加上public关键字的

接口的作用:为什么要通过接口来表示该类提供某些方法,而不直接在类内声明该方法呢?

在一些方法中需要使用到另一类方法的存在,因此必须要保证使用这些方法的类中已经定义了另一类方法。而为了更加方便、直观地说明这个类已经提供了这些方法,引入了接口。一个类实现了某个接口,就必然定义了该接口中的类。这样就不用再去寻找类内是否包含该方法,而直接能够知道。换句话说,接口相当于标签的功能。

接口不是类,尤其不能使用new实例化一个接口

但是可以使用声明接口的变量:Comparable x;

接口变量必须引用实现了接口的类对象:x= new Employee(. . .);

如同使用instanceof检查一个对象是否属于某个特定类一样,也可以使用instance检查一个对象是否实现了某个接口:

if(anObject instanceof Comparable){}

就像类的继承,接口也可以被扩展。

接口中虽然不能包含实例域或静态方法,但是可以包含常量:接口中的域将被自动设为public static final

有些接口只定义了接口而没有定义方法,例如SwinConstants中只包含NORTH、SOUTH和HORIZONTAL等常量。任何实现SwingConstants接口的类都将自动地继承这些常量,并可以在方法中直接地引用NORTH,而不必采用SwingConstants.NORTH这样的繁琐书写形式。不过这样有点偏离初衷,最好不要这样用

尽管每个类只能够拥有一个超类,但却可以实现多个接口。这就为定义类的行为提供了极大地灵活性。使用逗号将实现的各个借口分隔开:

eg:class Employee implements Cloneable, Comparable;

C.明日计划

Java接口与内部类 对象克隆

0 0
原创粉丝点击