Java接口
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口内的成员皆为静态(static)、final及公开(public),反之,他们可以成为任何类或接口的类型。
default 用在接口中, 为该接口的实现类的方法. --> 不能通过接口直接调用.
(default methods enable you to add new functionality to the interfaces of your libraries and ensure binary compatibility with code written for older versions of those interfaces.默认方法能够向库的接口添加新功能,并确保与为这些接口的旧版本编写的代码兼容。并且不用在其子类进行逐个实现 )
static 也是用在接口中, 同Class中的static方法一样, 是类级别的方法, 而不是对象的方法. --> 可以通过接口直接调用.
静态方法 没有对象 以类的名称调用静态的方法; 静态的方法不能调用非静态的变量 也不能调用非静态的方法
多态: 当你定义出一组类的父型时,你可以用子型的任何类来填补任何需要或期待父型的位置
运用多态时,引用类型可以是实际对象类型的父类
参数和返回类型也可以多态
如果对象是子类,而引用它的是父类时,不能调用子类的方法,可以进行类型转换,转换回原来的类型
Overload的意义是两个方法的名称相同,但参数不同,可以更改存取权限。重载与多态无关
继承
(Override) 当调用对象引用的方法时,compiler会调用到与该对象类型最接近的方法,即最低阶的会胜出
Lab5
r = Math.min(r, 255);
r = Math.max(r, 0); //用此方法来限定r的范围
check that the returned Plip
is not the same Plip
as the Plip
whose replicate()
method was called.
判断两个对象是否为同一个,即判断两个引用指向的是否为同一个对象 用“ ==“ 来比较就行:
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同
在test里面,直接用assetNotSame
randomEntry()这个方法参考了:
1 List<Integer> list = new ArrayList<>();
2 Random random = new Random();
3 int n = random.nextInt(list.size());
4 list.get(n);