A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lx19921105 中级黑马   /  2014-4-9 23:23  /  923 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看书自己做了下总结:

1.        抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更彻底,则可以提炼出一种更加特殊的”抽象类”—接口interface,接口中不能包含普通方法,接口里的所有方法都是抽象方法.
2.        接口定义语法
修饰符可以是public或省略,若省略则默认包权限.
接口命名应由多个有意义的单词连缀而成,每个单词首字母大写.
一个接口可以有多个直接父接口,但接口只能继承接口,不能继承类.
3.        接口里没有构造器和初始化块,因此接口里定义的Field只能在定义时指定默认值.
接口里定义Field采用如下两行代码的结果完全一样.
Int max=50; publick static final int max=50;
4.        接口里定义的方法只能是抽象方法,因此系统会自动为其增加abstract修饰符;由于接口里的方法全部是抽象方法,因此接口里不允许定义静态方法,即不可使用static修饰接口里定义的方法.接口里的方法总是使用publick abstract来修饰.
5.        从某个角度来看,接口可被当成一个特殊的类,因此一个java源文件里最多只能有一个public接口,而且主文件名应与接口名相同.
6.        接口支持多继承,类是单继承,但是类可以实现多个接口 关键字implements
7.        一个类实现了一个或多个接口之后,必须完全实现这些接口里所定义的全部抽象方法(也就是重写);否则,该类将保留从父接口那里继承到的抽象方法,该类也必须定义成抽象类.
实现接口方法时,必须使用public修饰符.
8.        接口和抽象类比较: 相同点
接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承.
接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法.
                 不同点
接口里只能包含抽象方法,不包含已经提供实现的方法;抽象类则完全可以包含普通方法.
接口里不能定义静态方法;抽象类里可以定义静态方法.
接口只能定义静态常量Field,不能定义普通Field;抽象类里则既可以定义普通Field,也可以定义静态常量Field.
接口里不包含构造器;抽象类里可以包含构造器,抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作.
接口里不能包含初始化块;但抽象类则完全可以包含初始化块.
一个类最多只能有一个直接父类,包括抽象类;但一个类可以直接实现多个接口,通过实现多个接口可以弥补Java单继承的不足.

1 个回复

倒序浏览
总结的挺好的,话说这里接口的口字好大哦!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马