面向对象2
来源:互联网 发布:与外国人学外语知乎 编辑:程序博客网 时间:2024/06/06 23:34
Day09 Java基础 面向对象 (2)
一. 构造代码块
小孩子出生之后必须的哭,自带被动
【要求】创建完对象,就的哭
[解决方案1]
把cry方法放到构造函数里
[瓶颈]
万一有1000个构造函数?
[问题]
用构造函数调用cry方法可以实现,但是如果构造函数过多,会导致代码过于臃肿,只要这个对象创建,就一定要
执行这个方法
Java中的构造代码块 :
{
执行的代码;
}
[发现]不管调用那个一个构造函数,都会执行cry方法,但是这个cry并不在构造函数里面
而是在构造代码块
构造代码块:
对一个类的所有对象进行一个统一的初始化操作,只要这个对象被创建,就会执行
【位置】
在构造函数之前,在成员变量之后
代码块分为三大类:
1. 构造代码块
2. 局部代码块 (基本不用了) 缩短局部变量的生存周期
3. 静态代码块 static
二. 构造函数,构造代码块和定义时默认值优先级问题
在Java中,有三种对于成员变量赋初值操作;
1. 构造函数
2. 构造代码块
3. 定义时默认值
优先级问题:
当存在构造函数的时候,构造函数中对于成员变量的修改是最终值
其次:1. 定义时的默认值 ====== 2. 构造代码块
谁在后面,谁确定最终值
Java编译器在编译代码的时候,会把我们的代码进行重新排序,
会将成员变量定义放在整个类的最前面
三. this关键字
就近原则
在类当中如果存在同名的变量名,Java编译器会认为最近的变量名是该语句操作的变量
this 这个!这儿! 对象自己
谁调用这个函数或者方法,谁就是this
this代表调用当前方法的类对象
this 关键字作用:
1. 如果在同一个函数中,出现了和成员变量同名的变量名,可以利用this 来区分不同的变量,
this.成员变量
表示使用的是成员变量
2. this关键字还能调用类当中的其他函数,这里包括成员方法和构造函数
this 关键字不单单能调用成员方法,还能调用构造函数
格式:
this(参数);
注意事项:
1. 如果一个构造函数A通过this关键字调用构造函数B,那么this(参数)必须在构造函数A的第一个行
2. 两个构造函数不能通过this关键字相互调用,语法不通过
- 面向对象2(2)
- 面向对象讲解(2)
- 面向对象讲解(2)
- 理解面向对象2
- JS面向对象2
- 面向对象2
- 面向对象基础2
- 面向对象基础2
- java面向对象2
- 面向对象总结2
- 面向对象(2)
- 面向对象2
- 面向对象(2)
- (2)- 面向对象(图)
- 面向对象(2)
- 面向对象2
- java面向对象2
- 面向对象1-2
- Android init.rc如何启动service去执行sh脚本
- STM32之NVIC有点启发1
- 关于ubuntu16.04下无线驱动的问题
- set方式注入属性的一个小细节
- solr数据导入
- 面向对象2
- python实现完整的求解给定列表中所有的平衡点问题,是所有的平衡点
- 关于数据序列化(4),FastJson的两个bug
- QUAKE 3源代码审查:网络模型
- sql优化
- 个人博客主页搭建随笔
- Java中的正则语法小结
- 相机的选购
- (二十一)Android内存、性能优化