1.组合
- 将其他类的对象引用置于新的类中。
3.继承
- 关键词extends 一个类继承基类后自动获得 基类的所有域(包括字段 引用 内部类 )和方法,当然不包括private,子类中调用继承下来的方法也不需要基类对象引用。继承相当于对基类的一个扩展,因为基类有的它都有,再额外添加了一些域和方法(或覆写方法)而已。
4.super
4.1 super.f() 调用基类的f()方法。
4.2 构造器中的super(args) 调用基类构造器,且只能在第一行。
4.3 由于构造器被重载后默认构造器不存在,且创建子类对象时一定会调用基类构造器,如果不用super则调用基类默认构造器,而基类构造器构造器被重载,故会报错,所以基类构造器被重载后子类要在构造器中显示用super调用基类构造器。
5.代理
- 一个类中创建一个成员对象,并把该对象的方法都暴露出来。
- 代理的作用或者什么时候用代理: 我们只想使用该成员对象的方法中的一些子集。(虽然通过继承和访问权限设置可以做到)
6.何时使用组合或继承
- 组合:新类中实现现有类功能,而非现有类接口。
- 继承:开发一个现有类的特殊版本。
7.final
7.1 final 不可改变数据。 final 引用 不可指向另一对象,这对数组也同样适用,数组也是对象,但对象内容可以改变,不能改变的时引用指向。
7.2 final 参数 : 参数为引用则无法改变指向,参数为基本数据类型则无法改变值。
7.3 final 方法 可被继承但子类无法覆写,所有private方法都是隐式的final.(private 方法非所在类无法访问,final方法不一定 看它是什么权限)
7.4 final 类 无子类,不可继承。
8. main方法
8.1 可以在类中设置main方法,这样便于进行单元测试单独运行这个类。
8.2 除构造器外,其他方法都需要对象调用才能执行,main方法也如此,创建对象并不会调用main方法,只有执行 java 类 命令时main方法才会被调用。
8.3 单独的一个没有main方法的类是无法运行的,main方法时程序运行的入口。
知识点:
- 每一个非基本类的对象都有一个 toString() 方法,打印此对象引用就会输出该方法的返回值。
- 默认构造器权限与类权限相同,没写权限的构造器为包访问权限。
- 访问权限 谁能访问? 谁指的是类,而不是对象。
原文地址:https://www.cnblogs.com/mibloom/p/9040373.html
时间: 2024-11-11 07:38:07