前序
- 万物皆对象
- 一切皆文件
- 程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的一系列有序的指令集合
2. 类与对象
- 面向对象思想
- 一切客观存在的事物都是对象,万物皆对象
- 任何对象,一定具有自己的特征和行为
- 特征:称为属性,一般为名词,代表对象有什么
- 行为:称为方法,一般为动词,代表对象能做什么
类的抽取:
在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分
类与对象的关系
类:定义了对象应具有的特征和行为,类是对象的模版
对象:拥有多个特征和行为的实体,对象是类的实例
成员变量有两种:实例变量和类变量
成员方法:实例方法和静态方法
构造方法:编译器默认提供无参构造方法,若已手动添加有参构造方法,则无参构造方法不再默认提供
3. 变量
内存即是一块瞬时状态的存储空间,有一定的容量
计算机存储容量的基本单位
bit, Byte, KB, MB, GB, TB, PB, EB, ZB, YB, BB, NB, DB, CB, XB
变量概念:计算机内存中的一块存储空间,是存储数据的基本单元
强类型语言:变量类型必须与数据类型一致,例如,Java, C++, C#
弱类型语言,例如 JavaScript
3.1 Java 中的变量
- 四个基本要素:名字、类型、值和作用域
- 变量名是地址,变量的实就是地址对应的内存的值
- 计算机通过地址,读写地址对应的内存的值
- 代码:数据、指令、控制
3.2 实例变量 vs 局部变量
实例变量:类的内部(即:对象的属性),会有默认值,例如:user.age
局部变量:声明在方法内部的变量,必须先赋值
再使用
局部变量 | 实例变量 | |
---|---|---|
定义位置 | 方法或方法内的结构中 | 类的内部,方法的外部 |
默认值 | 无默认值 | 字面值 |
使用范围 | 从定义行到包含其结构结束 | 本类有效 |
命名冲突 | 不允许重名 | 可与局部变量崇明,局部变量优先 |
4. 方法
概念:实现特定功能的一段代码,可反复使用
4.1 形参与实参
形参等价于“局部变量的声明”
实参等价于“局部变量的赋值”
public void method(形式参数) {
}
xxx.method(实际参数);
4.2 实例方法
对象的实例方法包含两部分:方法声明和方法实现
方法声明:修饰符 返回类型 方法名(形参列表)
5. 方法参数传递
实例变量保证不变化:复制副本
方法参数都是值传递
基本数据类型传递的是本身数据
引用数据类型传递的是地址值(例如:0x00000001)
总结:基本数据类型传递的是变量中的值,引用类型传递的是变量中的地址
public void test(final Person person) {
// error: Cannot assign a value to final variable 'person'
person = new Person();
// 对象声明为 final (引用地址不可变),但不代表不可以更改对象的属性
person.setName("xing");
}
6. 名词解释
- 语法高亮
- 程序入口
- 方法体
- 颜色一样的表示同一类元素
- 语法提示
- 关键字、标示符、运算符、字面值、数据类型、变量的创建和赋值
- 运算符优先级
网友评论