一、面向对象的思想【了解】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. 引用可以用在形式参数、返回值上、数组上。
day7:面向对象
一、面向对象的思想【了解】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. 引用可以用在形式参数、返回值上、数组上。