Java接口

概述 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。 另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有is-a的关系,仅仅是具有相同的行为特征而已。例如:鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3机、手机、数码相机、移动硬盘等都支持USB连接。 接口就是规范,定义的是一组规则,体现了现实世…

Java8新增静态方法及默认方法

静态与私有方法 目前为止,通常的做法都是将静态方法放在接口伴随类中。如:Collection/Collections、Path/Paths。 在java8中,允许在接口中增加静态方法。那么,如果我们自己现在来定义一个接口类,就可以在接口中定义一些常用的静态方法,而不用在去写一个接口伴随类了。 在java9中,接口中的方法可以是private。private方法可以是静态方法或实例方法。 默认方法 …

Cloneable克隆

现有两个类People以及Student,他们之间是继承关系 class People { private String name; private int age; private String[] parents = new String[2]; public People (String name, int age, String[] parents) { this.name = name;…

Comparable与Comparator

Comparable Arrays类中的sort方法,可以对对象数组进行排序,但有个前提条件,该对象需要实现Comparable接口。该接口建议compareTo方法应该和equals方法兼容。也就是说,当x.equals(y)时x.compareTo(y)就应该等于0。 package com.studyjava.demo; import java.util.Objects; class Emp…