黑马程序员——面向对象<三> 笔记第五篇
来源:互联网 发布:java零基础教学视频 编辑:程序博客网 时间:2024/04/29 15:36
值交换、接口
-----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{
}
接口与接口之间的关系是继承,接口可以多继承接口.
- 黑马程序员——面向对象<三> 笔记第五篇
- 黑马程序员—面向对象(三)
- 黑马程序员——面向对象笔记
- 黑马程序员——面向对象<一> 笔记第三篇
- 黑马程序员——面向对象<二> 笔记第四篇
- 黑马程序员——面向对象<四> 笔记第六篇
- 黑马程序员——OC学习笔记03 面向对象2 面向对象的三大特性
- 黑马程序员——JAVA学习笔记——面向对象(三大特性)
- 黑马程序员——Java要点笔记——面向对象(三)
- 黑马程序员——OC笔记之面向对象三大特征(封装、继承、多态)
- 黑马程序员————IOS学习笔记 第3篇 OC面向对象三大特性(1)
- 黑马程序员————IOS学习笔记 第4篇 OC面向对象三大特性(2)
- 黑马程序员——面向对象特征三:多态
- 黑马程序员——面向对象(三)
- 黑马程序员——Java面向对象(三)
- 黑马程序员——Java面向对象(三)
- 黑马程序员——Java面向对象知识点(三)
- 黑马程序员——面向对象(三)
- POJ 题目2299 Ultra-QuickSort(树状数组求逆序对)
- Atitit.软件gui按钮and面板---通讯子系统(区)-- github 的使用....
- 直方图、基数、选择性
- Django models笔记
- 疑问??
- 黑马程序员——面向对象<三> 笔记第五篇
- Win7+花生壳6.0+tomcat打做自己的web服务器(搭建自己的网站)
- 软件开发中需要克服的坏习惯
- C/C++内存泄漏及检测
- leetcode:Binary Tree Inorder Traversal
- 黑马程序员——面向对象<四> 笔记第六篇
- 小菜鸟学黑客(1)php篇
- stl 之 优先队列
- hdu 2544 spfa