1.接口
1.1 接口是一组需求的描述,接口名的定义一般遵循 “I+接口名”的方式进行定义。
1.2接口的用处,接口用于定义方法,可以将方法名固定,但是对于方法的实现方式由继承接口的类进行具体的实现,所以当需要这些方法时不需要知道方法具体实现,只需要根据方法名调用方法。
1.3 接口方法不需要添加修饰符,默认所有方法都是public的。
1.4 接口内一般不定义属性,若定义则必须也默认为final类型
1.5 接口不能定义对象,即接口不能使用new 关键字创建一个对象,但是可以定义接口类型的变量
interfase Iperson(){
}
class Person Implement Iperson(){
}
Iperson person; //允许
Iperson person new Iperson() //不允许
Iperson person =new person(); //允许,此时person为person类的对象
1.6 当使用`new`关键字创建接口对象时会默认的以该接口名创建一个(匿名)内部类,这个内部类相当于实现接口,故这个内部类必须实现接口的方法。
1.7引入接口的目的是为了多重继承,一个类可以实现多个不同的接口的方法,此时可以实现多重继承,但是一个类只能继承一个父类。
2 典型接口 comparable
comparable 接口内部只有一个方法,comparato();此方法用于比较。
comparable 一般用于对两个类对象进行比较,若需要对两个类进行比较时需要实现comparable接口中的comparato(object o)方法,具体的比较规则在comparato()方法内实现。
注:
/**
*此类方法实现会产生异常情况,即此时可以对两个不同类的对象进行比较,此
*时会产生异常的情况
**/
class Person implement comparable(){
private int age;
public int comparableto(object o){
return this.age -(person)o.age;
}
}
class Human(){
}
Person person1 = new Person();
Person person2 = new Person();
Human human = new Human();
person.comparableto(person2); //允许
person.comparableto(human);//编译不会错,运行会报错
/**
*此类方法不会产生异常情况,即此时不能对两个不同类的对象进行比较,
**/
class Person implement comparable<Person>(){
private int age;
public int comparableto(Person o){
return this.age -o.age;
}
}
class Human(){
}
Person person1 = new Person();
Person person2 = new Person();
Human human = new Human();
person.comparableto(person2); //允许
person.comparableto(human);//此时编译将会出错有效的进行保护
3.windows中文件地址为“\”
,linux中文件地址为“/”
通过使用File.seperater() 会根据当前的系统返回正确的地址符。
4. Map类
4.1 Map定义
Map为键值对,每一个值对应一个键,在Map中不允许出现两个相同的键
4.2 Map接口
Map接口包含两个方法,每个Map(如`hashMap`)都实现了这两个方法
方法 | 用处 |
---|---|
equals(Object o) | 比较指定对象与此 Map 的等价性 |
hashCode() | 返回此 Map 的哈希码 |
4.3Map所构建的几个方法
Map中定义了几个用于插入和删除的方法
方法 | 用处 |
---|---|
clear() | 从 Map 中删除所有映射 |
hashCode() | 返回此 Map 的哈希码 |
put(Object key, Object value) | 将指定值与指定键相关联 |
clear() | 从 Map 中删除所有映射 |
putAll(Map t) | 将指定 Map 中的所有映射复制到此 map |
4.4Map类介绍