|
[笔记]java学习笔记3--面向对象
对象:客观存在的就是对象.考察对象有两方面
属性:有什么.
方法:能做什么.
符合我们看待客观世界的规律.
各司其职,各尽所能,弱耦合性,可复用性,可扩展性.
方法的重载:向上就近匹配原则,必须要明确引用.
1 构造方法: 构造对象时要调用的方法.是创建对象的一个必不可少的工序.
特点: (1) 无返回值类型
(2) 方法名与类名相同
默认的构造方法是空的,无参的.习惯:给类加无参构造方法.
A a=new A(); a:对象的引用,存放对象的地址
功能: 更多用来初始化属性.不能手工调用.在对象生命周期内只能调一次.
java中没有析构方法.
2 java中的自动回收机制垃圾回收器:我们可以不用顾虑对象创建后占用系统资源的问题.我们只 负责对象的创建,而对象销毁和资源释放的问题就可以留给垃圾回收器去做,要注意垃圾回收器 只会在内存空间不够的情况下进行资源回收.这样效率会高.
3 构造对象过程:
(1) 分配空间 new+类名() 默认值0
(2) 初始化属性
(3) 调用构造方法
4 参数传递规则:简单类型的参数传值,对象类型的参数传引用
5 声明:Student s,这时我们只是说明s是一个能够指向Student类型的引用(对象变量),
并没有创建一个对象。所以我们不能对s做任何操作.
初始化:s = new Student(); 向系统申请一块存储空间(地址空间),该地址空间保存的是
一个Student类型的数据。而s中保存的就是该地址空间的首地址。
一个对象可以有多个引用指向。
Student[] s = new Student[3] //相当于声明一个长度为3的Student类型的数组。
6 对象和对象引用的区别:对象好比一台电视机,对象引用好比电视机遥控。对象引用中存的是对 象的地址。多个对象引用中存放的是同一个地址,表示该对象被多个对象引用所引用。
7 this关键字:
this:是个引用,表示当前对象,要注意区分谁是当前对象,
功能:可以区分开局部变量和实例变量的命名冲突.
this()可以调用本类中其它的构造方法,必须放在构造方法的第一行.
8 面向对象三大特性:封装,继承,多态
(1)封装: 该隐藏的隐藏,该公开的公开 属性是私有的要隐藏起来,更安全
对于属性: 要提供获取和设置属性的方法:
getAge(); 获取属性
setAge(); 设置属性
对于方法: 该隐藏的隐藏,该公开的公开(给自己用的隐藏,expand()扩充)
声明 公开 能作什么
实现 隐藏 怎么做 这样使得实现的改变对架构的影响最小.
隐藏的目的:实现的改变对架构的影响最小.
封装的好处: 安全,弱耦合
(2)继承:
java特点:泛化:从子类中抽象出共性放在父类,得到父类的过程.
特化:先有类父类,在有了子类.把子类放在类继承关系树中.
java中单继承,一个类只有一个直接父类.
单继承是java简单性的体现:树状结构比网状结构简单.
共性属父类是弱耦合性的体现.
好好学习,天天向上 |
|