专题三 面向对象程序设计(一)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)

2024-09-18
| 14页
| 198人阅读
| 2人下载
精品

内容正文:

面向对象程序设计(一) [考纲要求] 考试内容: 类;对象,成员变量;成员方法。 知识点要求: 1.掌握类、对象、成员变量、成员方法的基本概念。 2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。 3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。 [课时安排] 2课时 [知识梳理] 一.类和对象的概念 把客观世界众多的事物进行归纳、分类,把具有相同特征及相同行为的对象的集合称为一类对象。分类的原则是抽象。因此类是同种对象的集合与抽象。 对象 (Object) 是现实世界中实际存在的某个具体实体。 对象也可以是无形的,如象棋的输赢规则。 对象包含特征和行为: 特征是指对象的外观、性质、属性等;行为是指对象具有的动作、功能等。 二.类和对象的关系 类是一组具有共同性质的对象的集合,而对象是类的具体实例。类是模板,对象是类的 实例化。 三.类的定义 1 定义格式 (1)修饰符:默认为public。用于指定类、方法或变量的访问权限。 (2)类名:类的名称,遵循Java命名规则。 (3)类变量:静态变量,属于类而不属于类的实例,可以在类外部通过类名直接访问。 (4)实例变量:非静态变量,属于类的实例,每个实例都有自己的一份变量值。 (5)构造方法:特殊的方法,用于创建类的实例。没有返回类型,名称与类名相同。 (6)成员方法:普通的方法,包含方法体和返回类型。 (7)参数列表:方法可以接收的参数,参数类型和名称。 (8)返回类型:方法执行后返回的数据类型,如果方法不返回任何值,则返回类型为void。 (9)方法体:方法内部的代码,包括声明和执行语句。 四.类的成员变量 类的成员变量用于描述类的特征或属性,类的成员变量可以是基本数据类型,也可以是对象、数组等复合数据类型。 类的成员变量的声明格式 [修饰符] 数据类型成员变量名 = [初值]; 例子: private String = “张三”; 五.类的方法 类中的方法又称为成员方法或成员函数,用于描述所具有的功能和操作,是一段完成某 种功能或操作的代码。 方法定义的格式 [修饰符] 返回类型 方法名([参数列表]) { // 方法体 [return 表达式;] // 如果方法有返回值,必须包含这个语句 } 修饰符:方法可以有多种修饰符,如public、private、protected、static、abstract和final。这些修饰符决定了方法的可见性和行为。 返回类型:方法执行完毕后返回的数据类型。如果方法不返回任何值,则返回类型为void。 方法名:方法的唯一标识符,遵循Java命名规则。 参数列表:方法可以接受零个或多个参数,每个参数都包含参数类型和参数名。 方法体:方法内部的代码,包括声明和执行语句。 return 表达式;:如果方法有返回值,必须在方法体中包含return语句,返回一个表达式的值。 六.参数传递和返回值 参数传递 Java中的参数传递是值传递,这意味着传递给方法的是参数的值,而不是参数对象本身。这意味着方法内部对参数的修改不会影响到原始的参数。 返回值 方法可以返回一个值,返回值可以是任何数据类型,包括基本数据类型和对象。返回值通过方法名后面的小括号来指定。 参数传递和返回值的关系 参数传递是值传递,方法内部对参数的修改不会影响到原始的参数。 返回值是方法执行完毕后返回给调用者的值。 注意事项 方法可以有多个参数,参数之间用逗号分隔。 方法可以有返回值,如果没有返回值,则返回类型为void。 方法可以抛出异常,调用者需要处理这些异常。 方法可以有默认参数值,但必须从最后一个参数开始设置。 七.方法的重载 在Java中,方法重载(Method Overloading)是指在同一个类中,可以定义多个方法名称相同但参数列表不同的方法。这些方法被称为重载方法。重载方法可以提高代码的灵活性和可读性,允许用户根据需要选择合适的方法来执行特定操作。 方法重载的规则: 方法名相同:重载方法必须具有相同的方法名。 参数列表不同:重载方法可以通过改变参数的数量、类型或顺序来区分。 返回类型无关:重载方法的返回类型可以不同。 访问修饰符无关:重载方法的访问修饰符可以不同。 异常类型无关:重载方法的异常类型可以不同。 八.static关键字 在Java编程语言中,static 是一个关键字,用于修饰类变量(也称为静态变量)和类方法(也称为静态方法)。 类变量(Static Variable): 类变量是类的属性,它不属于类的任何实例。 类变量在整个应用程序中只有一个副本,并且所有类的实例共享这个变量。 类变量在类加载时被初始化,并且它们的值在程序运行期间保持不变,直到程序结束。 类变量可以被类的方法访问,也可以被其他类访问,只要这些类在同一个包中或者访问权限允许。 public class MyClass { static int count; // 类变量 public static void main(String[] args) { count++; // 访问和修改类变量 System.out.println("Count: " + count); } } 类方法(Static Method): 类方法是类的行为,它们不需要创建类的实例就可以直接调用。 类方法可以直接访问类变量,但不能直接访问非静态变量。 类方法可以被类的方法访问,也可以被其他类访问,只要这些类在同一个包中或者访问权限允许。 使用 static 关键字时,需要注意以下几点: (1) 类变量和类方法必须在类定义的外部声明。 (2) 类变量和类方法可以被声明为 public、private 或 protected,以控制它们的访问权限。 (3) 类变量和类方法可以被任何类的实例或类名直接访问,不需要创建类的实例。 (4) 类变量和类方法不能直接访问非静态变量,除非它们是同一个类中的。 九.对象的创建 (1) 首先,需要定义一个类,该类包含属性(成员变量)和方法(成员函数)。 (2)创建对象:使用new关键字创建类的实例。 十.对象的初始化 (1)设置属性:创建对象后,通过点号(.)访问对象的属性,并设置值。 (2)调用方法:通过对象名调用对象的方法。 十一.对象的使用 (1)对象引用:对象在Java中是通过引用(Reference)来访问的。创建对象时,实际上是在内存中分配空间并返回该空间的引用。 (2)对象销毁:当对象不再被引用时,垃圾收集器(Garbage Collector)会自动回收该对象所占用的内存。 十二.this关键字 在Java中,this 关键字是一个特殊的引用,指向当前对象本身。this 关键字在方法内部使用,用于引用当前对象的方法和属性。 在构造方法中,this 关键字可以用来区分对当前对象的引用和对其他对象的引用。 在方法内部,this 关键字可以用来引用当前对象的成员变量,而不是局部变量。 在构造方法中传递当前对象: 在构造方法中,你可以使用 this 关键字将当前对象传递给另一个构造方法。 在重载方法中,this 关键字可以用来调用当前类中的其他方法。 使用 this 关键字时,需要注意以下几点: this 关键字不能用在静态方法中,因为静态方法属于类,而不是类的实例。 this 关键字不能用在静态字段或静态代码块中。 在构造方法中,this() 语句必须放在所有其他构造代码之前。 十三.super关键字 在Java中,super 关键字是一个特殊的引用,它指向当前对象的直接父类(超类)的实例。super 关键字通常用于以下几种情况: 调用父类构造方法: 当创建子类对象时,Java编译器会自动调用父类的构造方法。如果需要显式地调用父类的构造方法,可以使用 super() 或者 super(参数)。 访问父类成员: 在子类中,你可以使用 super 关键字来访问父类的成员变量和方法。 覆盖父类方法: 当子类重写父类的方法时,可以使用 super 关键字来调用父类的方法。 使用 super 关键字时,需要注意以下几点: super 关键字不能用在静态方法中,因为静态方法属于类,而不是类的实例。 super 关键字不能用在静态字段或静态代码块中。 super() 语句必须放在子类构造方法的第一行,除非构造方法是默认构造方法。 [限时练习] 1. 以下关于类和对象的说法,错误的是( ) A. 类是对象的抽象,对象是类的实例 B. 成员变量用来描述对象的属性,成员方法用来描述对象的行为 C. 类的定义包含了成员变量和成员方法的声明 D. 对象可以直接访问类的成员变量和成员方法 【答案】D 【解析】对象不能直接访问类的成员变量和成员方法,必须通过类的实例(即对象)来访问。 2. 关于方法的重载,以下说法正确的是( ) A. 方法重载要求方法名相同,参数类型和个数必须完全相同 B. 方法重载要求方法名相同,参数类型可以不同,个数必须相同 C. 方法重载要求方法名相同,参数类型和个数可以不同 D. 方法重载要求方法名不同,参数类型和个数可以不同 【答案】C 【解析】方法的重载是指在一个类中,可以有多个方法名相同但参数列表不同的方法。 3. 以下关于构造方法的描述,错误的是( ) A. 构造方法用于初始化对象 B. 构造方法名必须与类名相同 C. 构造方法可以有返回值 D. 构造方法在创建对象时自动调用 【答案】C 【解析】构造方法在创建对象时自动调用,用于初始化对象,其方法名必须与类名相同,且没有返回值。 4在Java中,以下关于静态变量和静态方法的描述,错误的是( ) A. 静态变量属于类,而不是对象的实例 B. 静态方法可以直接通过类名调用,无需创建对象 C. 静态变量和静态方法可以通过对象名调用 D. 静态方法不能访问非静态成员变量 【答案】D 【解析】 静态方法不能直接访问非静态成员变量,但可以通过创建对象来访问。 5. 关于this关键字的应用,以下说法错误的是( ) A. this关键字可以用来引用当前类的成员变量 B. this关键字可以用来调用当前类的构造方法 C. this关键字可以用来作为方法的返回值 D. this关键字可以在静态方法中使用 【答案】D 【解析】 this关键字不能在静态方法中使用,因为静态方法属于类,而this关键字指向当前对象。 6.类的成员变量如果不进行显式初始化,那么它们在对象创建时会被自动初始化为默认值。( ) 【答案】正确 【解析】在Java中,类的成员变量如果不进行显式初始化,确实会被自动初始化为默认值,例如整型变量默认为0,布尔型变量默认为false,对象引用默认为null等。 7. 在Java中,一个类可以有多个构造方法,只要它们的参数列表不同。( ) 【答案】正确 【解析】Java支持构造方法的重载,只要参数列表不同,一个类可以有多个构造方法。 8.静态方法不能访问非静态成员变量,但可以通过创建类的实例来访问非静态成员变量。( ) 【答案】错误 【解析】静态方法确实不能直接访问非静态成员变量,因为它不依赖于任何对象实例。但是,静态方法可以通过创建类的实例来访问非静态成员变量,这种做法并不推荐,因为它违背了静态方法的初衷。 9.在成员方法中,可以使用this关键字来区分同名的局部变量和成员变量。( ) 【答案】正确 【解析】在成员方法中,如果局部变量和成员变量同名,可以使用this关键字来明确指出是访问成员变量,从而避免命名冲突。 10.建一个名为Person的类,包含以下成员变量:name(姓名),age(年龄),和gender(性别)。提供一个构造方法用于初始化这些成员变量,并提供一个方法introduce(),该方法返回一个描述该人的字符串。。 【答案】 11. 编写一个名为Calculator的类,该类包含一个静态方法add,它接受两个整数参数并返回它们的和。另外,包含一个非静态方法subtract,它也接受两个整数参数并返回它们的差。 【答案】 12.创建一个Book类,包含成员变量title(书名)和author(作者)。实现一个构造方法用于初始化这些变量,并实现一个方法displayBookInfo()来显示书籍信息。重载构造方法,使得可以只通过书名创建Book对象。 【答案】 13.编写一个Rectangle类,包含成员变量width和height。实现一个构造方法来初始化这些变量,并实现一个方法calculateArea()来计算并返回矩形的面积。另外,实现一个静态方法isSquare,它接受一个Rectangle对象作为参数,并返回一个布尔值,表示该矩形是否为正方形。 【答案】 [归纳小结] 学科网(北京)股份有限公司 $$

资源预览图

专题三 面向对象程序设计(一)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
1
专题三 面向对象程序设计(一)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
2
专题三 面向对象程序设计(一)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。