文章标题
来源:互联网 发布:电脑连接wifi网络差 编辑:程序博客网 时间:2024/06/07 01:14
7.29总结
1.抽象类
- 父类知道子类应该包含什么方法,但无法准确知道子类如何实现这些方法,即父类与子类的方法功能声明相同,方法功能主体不同,这时只抽取方法声明,不抽取方法主体,则该方法为抽象方法。
- 有抽象方法的类一定是抽象类,抽象类不一定有抽象方法。
- 抽象类跟抽象方法都要用关键字abstract修饰。
2.抽象类的特点
- 抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。
- 抽象类不可以直接创建对象。
原因:调用抽象方法没有意义。- 只有重写了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
3.接口
- 只描述所应具备的方法,并没有具体实现。
- 与类相似的结构,只包含常量和抽象方法。
- 接口采用interface关键字来声明。
- 一个接口类型的变量可以引用人和实现该接口的类的实例。
4.接口中成员的特点
- 接口中的数据只能是常量,有固定的修饰符修饰,public static final 。
- 接口中定义的方法也有固定的修饰符,public abstract。
- 接口不可以直接创建对象。
- 实现类,即接口的子类必须在重写接口中所有的抽象方法后,子类才可以实例化,否则子类是一个抽象类。
5.接口与抽象类的比较
相同点
- 都用于被其他类实现或继承。
- 都包含抽象方法,其子类或实现类都必须重写所有的抽象方法。
区别
抽象类中可以既包含抽象方法,又包含普通方法,并且抽象类可以为普通方法提供实现,避免子类重复实现这些普通方法。
接口只能包含抽象方法。
接口中的数据必须是常量,可通过接口名.常量名访问。
抽象类中的数据可以有常量,也可以有变量。
6.内部类
- 将一个类定义在另一个类或方法里,这样的类称为内部类。
- 一般包括四种:成员内部类、局部内部类、静态内部类和匿名内部类。
(1). 成员内部类(位于另一个类的的内部)
a、定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接new一个内部类对象。
b、创建内部类对象格式:
内部类 对象名 = 外部类对象.new 内部类();c、外部类不能直接使用内部类的成员和方法。
可先创建内部类对象,然后通过内部类对象来访问外部类的成员变量和方法。d、如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,若要访问外部类的成员方法,可使用this关键字:
外部类名.this.同名变量 外部类名.this.同名方法()。
(2).局部内部类
- 局部内部类是内部类定义在外部类的方法中,局部内部类只能在外部类的方法中使用。
- 局部内部类不能在外部类的方法以外的地方使用,所以局部内部类不能使用访问控制符和static修饰。
(3).静态内部类
- static关键字修饰的内部类。
特点:
- 不能直接访问外部类的非静态成员,但可通过new 外部类().成员 的方式访问。
- 若外部类的静态成员和内部类的成员名称相同,可通过类名.静态成员访问外部类的静态成员;
若不同,可通过成员名直接调用外部类的静态成员。- 创建静态内部类的对象时,不需外部类的对象,可直接创建。
内部类 对象名= new 内部类
(4).匿名内部类
- 是唯一一种没有构造器的类,因而使用范围有限,大部分匿名内部类用于接口回调。
- 是创建某个类型子类对象的快捷方式。
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- JavaScript定时任务
- Cardiologist-Level Arrhythmia Detection with Convolutional Neural Networks2017
- C++学习之两种向下转型
- 莫比乌斯反演
- react-native之Could not connect to development server
- 文章标题
- opencv 图像载入、显示和输出
- A
- VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
- 算法训练 猴子分苹果
- (hdu1005)Number Sequence(组合数学)
- 简易3d导航条心得
- Unicode program converted
- LightOJ1197 Help Hanzo