一、面向对象的思想【了解】 1. 面向过程:将问题拆分为步骤:第一步,第二步,...直到将问题解决.... 2. 面向对象:想将程序中所用到的对象找出,作为整体进行应用,利用各对象之间的关系,进行解决问题。 二、对象【理解】 1. 对象:复杂的客观事物,在Java程序中的一种表现形式。(一切客观事物都是对象) 2. 对象的组成: (1) 属性:代表对象有什么特征/特点,对象的静态部分,用变量来表示 (2) 方法:代表对象有什么功能/行为,对象的动态部分,用函数/方法表示。 3. 计算中对象的描述:计算中用类对一组对象进行描述,该对象有哪些属性和方法。 4. 类和对象的关系: (1) 类是对象的模板 (2) 对象是类的实例 (基于一个类可以创建 n 个对象) 三、类的组成【开发应用重点】 1. 属性:描述对象有哪些特征、特点 (1) 属性:又称为成员变量 (2) 位置:定义在类以内,方法以外 (3) 语法:数据类型 变量名; 数据类型 变量名 = 值; //声明的同时并赋值 注意:声明 和 赋值需要一起进行 class A{ int value ; value = 20 ; //这是错误的写法,初始化必须和声明一起进行 } (4) 注意:开发时,类中定义属性,只需定义程序功能所关注的那部分属性即可。 (5) 成员变量具有默认值,默认值和数组相同,具体情况如下: 整数 0 小数 0.0 字符 空字符('\u0000') 布尔 false 引用 null(6) 成员变量的作用范围:至少在本类中有效。 (7) 命名冲突:在一个类中不能有重名的属性(成员变量),但是成员变量可以和局部变量命名冲突,一旦命名冲 突,在定义局部变量的方法中,优先使用局部变量。 成员变量 和 局部变量的区别。【重点:面试+应用】 局部变量 成员变量 位置: 定义方法内 定义在类以内,方法以外 默认值: 没有默认值, 先赋值后使用 具有默认值 作用范围: 从定义开始,到定义它的代码块结束 至少在本类中有效 命名冲突: 在重合的作用范围内,不允许命名冲突 可以和局部变量命名冲突,冲突时,在定义局部变量 的方法中,优先使用局部变量 2. 方法:描述对象有哪些功能、行为。 (1) 方法又称为 成员方法。 (2) 位置:定义在类以内,其他方法以外。 (3) 语法: a. 函数:public static 返回值类型 函数名(形参列表){ // 函数体(函数实现部分) } b. 方法:public 返回值类型 方法名(形参列表){ // 方法体(方法的实现部分) } 注意: 方法定义时,不需要添加 static 。 (4) 方法的定义: a. 方法的声明:代表对象能做什么 方法的修饰符 返回值类型 方法名 (形参列表)异常 注意:一个方法可以有多个修饰符,并且多个修饰符之间没有先后顺序。 b. 方法的实现:代表对象具体怎么做,如何实现声明的功能 { // 方法具体如何实现对应的功能 } (5) 方法的重载(overload) a. 概念:在一个类中定义多个相同名字,但是形参列表不同的方法。 b. 要求: I. 方法名相同 II. 形参列表不同(个数、类型、顺序) iii. 返回值类型、修饰符、异常没有要求 注意:只是 形参名字不同,不能构成方法重载。 c. 使用:编译器会根据调用时指定实际参数,决定具体调用哪一个方法。 指定时先精确匹配,精确匹配不成功,再就近向上匹配,如果还不成功,则编译报错。 注意:方法重载时,避免调用发生匹配混淆现象。 d. 好处:使代码程序更加的通用和灵活。 3. 构造方法: (1) 构造方法:是类中一种特殊的方法,也被称为构造器。 (2) 特点: a. 构造方法的方法名必须和类名完全一致 b. 构造方法没有返回值 (连 void 没有) 语法: 修饰符 类名(形式参数){} c. 构造方法允许重载 d. 构造方法不允许手动调用 (3) 注意: a. 构造方法不允许手动调用,在创建对象时,JVM根据 指定实际参数决定调用哪一个构造方法完成对象 的创建,一个对象的创建只能调用一次构造方法 b. 如果一个类中没有定义任何构造方法,则JVM会自动默认添加一个公开无参数的构造方法; 如果类中定义了任何的有参数的构造方法,则JVM不再提供默认的公开无参数的构造方法。 (4) 构造方法的作用:通常用于给属性赋值。 (5) 开发建议:定义一个类时,通常提供无参数的构造方法和有参数的构造方法,没有特殊说明的情况下,有 参数的构造方法的参数个数取决于属性的个数和类型。 四、对象的创建 1. 语法:类名 对象名 = new 类名(); 2. 对象的使用: (1) 对属性赋值: 对象名.属性名 = 值; 调用属性: 对象名.属性名 (2) 调用对象的方法:对象名.方法名(实参); 五、this 的应用( this. 和 this() ) 【开发应用】 1. 第一种应用: this. (1) this 代表当前对象,类似于 '我' (2) this. 用在类中的成员方法或是构造方法中,代表调用当前对象的属性或是成员方法 (3) this.属性名 : 代表调用 当前对象的属性 this.成员方法名(实参); 代表调用当前对象的成员方法 (4) 注意:this. 通常可以省略,但是一旦成员变量和局部变量命名冲突时,需要用 this. 来区分 成员变量 2. 第二种应用:this() (1) this() 用在类中构造方法中,代表调用本类的其他构造方法 (2) this() : 代表调用本类无参数的构造方法 this(实参):代表调用本类有参数的构造方法(3) this()/this(实参) 必须定义在构造方法中第一行有效语句 (4) this()/this(实参) 使用时避免出现递归调用/回环调用,所以一个类中构造方法中的第一行不能都 使用this()/ this(实参) 六、对象创建的过程【理解】 1. 分配空间:为所有的属性赋默认值 2. 初始化属性:为属性第二次赋值的机会 3. 执行构造方法:为属性第三次赋值的机会 七、引用【难点+理解】 1. 引用:对象类型的变量称为引用。 2. 引用存储的是对象在堆空间中首地址。 3. 对象之间相互独立,因为不同的对象在堆空间中分配不同空间 4. 引用可以单独声明: 类名 引用名; Worker w; 5. 如果引用中存储的是null ,此时用引用调用属性或是方法,则编译通过,运行报错,错误信息如下: java.lang.NullPointerException(空指针异常) 6. 引用之间相互赋值,传递的是对象在堆空间中的首地址 基本数据类型的变量之间相互赋值,传递是数值。 7. 引用可以用在形式参数、返回值上、数组上。
736

被折叠的 条评论
为什么被折叠?



