值交换、接口
-----Java培训、Android培训、期待与您交流! -------
9值交换
案例: 定义交换数值的功能函数,基本类型数据, 数组,实例对象, String。
9.1 基本数据类型交换
结果:发现交换值前后没有变量的值发生变化。
原因分析:
9.2 数组类型交换
结果:交换值成功。
原因分析:操作的是同一个数组对象。
9.3 对象的值交换:
结果:交换值成功。
9.4 字符串的值交换
交换值失败。
10接口
定义接口的格式:
interface接口名{
}
10.1接口的特点:
1. 类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口。 2. 接口中定义的所有的属性默认是public static final的,即静态常量既然是常量,那么定义的时候必须赋值。 3. 接口中定义的方法不能有方法体。接口中定义的方法默认添加public abstract 4. 有抽象函数的不一定是抽象类,也可以是接口类。 5. 由于接口中的方法默认都是抽象的,所以不能被实例化。 6. 对于接口而言,可以使用子类来实现接口中未被实现的功能函数。 7. 如果实现类中要访问接口中的成员,不能使用super关键字。因为两者之间没有显示的继承关系,况且接口中的成员成员属性是静态的。可以使用接口名直接访问。 8. 接口没有构造方法。 |
接口的作用:
1. 程序解耦。()
2. 定义了约束规范。
3. 拓展了功能。
10.2 接口与类之间实现的关系
接口使用方式:实现使用的。
class类名 implements 接口名{
}
interface Eraser { public static final String color ="白色"; public abstract void clean(); } class Pencil implements Eraser { String name; Pencil() { } Pencil(String name) { this.name = name; } void write() { System.out.println("写字"); } @Override public void clean() { System.out.println("涂改..."); } } |
接口与类要注意的细节:
1. 一个类可以实现多个接口。 疑问: 为什么一个类可以多实现接口,而不能多继承呢? 原因:当类多继承时,在调用父类方法时有可能出现同名方法导致不知该调用哪个混乱。 2. 非抽象类实现一个接口的时候需要 把接口中所有方法全部实现, 3. 抽象类实现一个接口时,可以实现接口的方法也可以不实现接口的方法。
|
10.3接口与接口之间的关系: 继承。
interface A{ public void show(); } interface B{ public void print(); } interface C extends A,B{
} |
接口与接口之间的关系是继承,接口可以多继承接口.