《Java程序设计》(三)面向对象程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第30卷

2025-09-07
| 2份
| 27页
| 75人阅读
| 0人下载

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第30卷,是知识点训练卷。按“Java程序设计”考试纲要(三)面向对象程序设计的六点知识点要求编写,其六点要求是: 1.掌握类、对象、成员变量、成员方法、封装、继承、多态的基本概念。 2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。 3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。 4.掌握类的继承、子类的声明、super、this、方法覆盖。 5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。 6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第30卷 《Java程序设计》 (三)面向对象程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1. 关于构造方法,下列说法正确的是( ) A. 构造方法的返回值类型为 void B. 一个类中只能有一个构造方法 C. 构造方法的方法名必须与类名相同 D. 构造方法不能被重载 2. 下列关于方法重载的描述,正确的是( ) A. 方法重载要求方法名不同,参数列表相同 B. 方法重载要求方法名相同,参数列表不同 C. 方法重载要求方法返回值类型不同,方法名和参数列表相同 D. 方法重载要求方法的访问权限不同,方法名和参数列表相同 3. 有如下代码: class Rectangle { private int length; private int width; public Rectangle(int length, int width) { this.length = length; this.width = width; } public int getArea() { return length * width; } } 这里 this.length = length; 语句的作用是( ) A. 将参数 length 的值赋给成员变量 length B. 将成员变量 length 的值赋给参数 length C. 让 this 指向参数 length D. 让 this 指向成员变量 length 4. 以下关于引用赋值的说法,错误的是( ) A. 引用赋值后,两个引用指向同一个对象 B. 引用赋值可以改变对象的实际内容 C. 引用赋值是将一个对象的引用复制给另一个引用 D. 引用赋值会创建一个新的对象 5.在子类的构造方法中,使用 super() 调用父类构造方法时,super() 必须放在( ) A. 构造方法的任意位置 B. 构造方法的第一行 C. 构造方法的最后一行 D. 可以不写 6.关于 abstract 类和 abstract 方法,下列说法正确的是( ) A. 子类继承抽象类后,不需要重写抽象类中abstract方法 B. abstract 类中只能包含 abstract 方法 C. abstract 方法的方法体可以为空 D. 抽象类不能被实例化 7.接口中的方法默认是( ) A. public、static B. public、abstract C. private、abstract D. protected、static 8.以下关于抽象类和接口的区别,说法错误的是( ) A. 抽象类可以有构造方法,接口没有构造方法 B. 抽象类中可以有非抽象方法 C. 一个类只能继承一个抽象类,但可以实现多个接口 D. 抽象类和接口都可以被实例化 9. 有如下代码: class Animal { public void makeSound() { System.out.println("Some sound"); } } class Dog extends Animal { @Override public void makeSound() { System.out.println("Bark"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); animal.makeSound(); } } 这段代码体现了面向对象的( )特性。 A. 封装 B. 继承 C. 多态 D. 抽象 10. 下列说法正确的是( ) class Book { String title; } public class Test { public static void main(String[] args) { Book b1 = new Book(); Book b2 = b1; b1.title = "Java编程"; } } A. b2.title 的值为 null B. b2.title 的值为 "Java 编程" C. b1 和 b2 是两个不同的对象 D. 给 b1.title 赋值后,b2.title 不会发生变化 二、判断题(本大题共10小题,每小题2分,共20分) 1. 方法的参数传递中,基本数据类型是值传递,引用数据类型是引用传递。( ) 2. 当一个类的成员方法返回值类型为 void 时,该方法内部不能有 return 语句。( ) 3. 一个类的成员方法可以调用该类的静态方法,但静态方法不能直接调用非静态方法。( ) 4. 静态方法可以被继承,也可以被重写。( ) 5. 子类继承父类后,父类的私有成员变量和方法子类无法直接访问。( ) 6. super 关键字只能用于子类的构造方法中,不能用于子类的普通成员方法中。( ) 7. 抽象方法不能有方法体,并且必须在抽象类中声明。( ) 8. abstract 类中可以包含非 abstract 方法。( ) 9. 可以使用 this关键字可以调用父类的构造方法、成员变量和成员方法。( ) 10.一个类可以实现多个接口,接口之间用逗号分隔。( ) 三、填空题(本大题共5小题,每题2分,共10分) 1. 静态代码块使用 static 关键字修饰,它在 ______ 加载时执行,且只执行一次。 2. 方法的返回值类型可以是基本数据类型,也可以是 ______ 类型。 3. 子类的构造方法中,使用 ______ 关键字调用父类的构造方法。 4. 使用 ______ 关键字声明抽象类。 5.若父类有一个非静态方法 void showInfo(),子类重写了该方法,若要在子类的 showInfo 方法中调用父类的 showInfo 方法,应使用 ______ 语句。 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 class Person { String name; public Person() { this("张三"); System.out.println("Person无参构造方法"); } public Person(String name) { this.name = name; System.out.println("Person有参构造方法,name:" + name); } } class Student extends Person { public Student() { System.out.println("Student无参构造方法"); } } public class TestPerson { public static void main(String[] args) { Student s = new Student(); } } 2.以下程序的运行结果是______。 class Vehicle { public void move() { System.out.println("Vehicle is moving"); } } class Car extends Vehicle { @Override public void move() { System.out.println("Car is moving"); } } class Bicycle extends Vehicle { @Override public void move() { System.out.println("Bicycle is moving"); } } public class Main { public static void main(String[] args) { Vehicle[] vehicles = {new Car(), new Bicycle()}; for (Vehicle vehicle : vehicles) { vehicle.move(); } } } 3.以下程序的运行结果是______。 class Parent { protected int num = 10; public void display() { System.out.println("Parent num: " + num); } } class Child extends Parent { private int num = 20; @Override public void display() { System.out.println("Child num: " + num); super.display(); } } public class Main { public static void main(String[] args) { Child child = new Child(); child.display(); } } 4.以下程序的运行结果是______。 class A { public void method() { System.out.println("Method in A"); } } class B extends A { @Override public void method() { System.out.println("Method in B"); } } class C extends B { @Override public void method() { super.method(); System.out.println("Method in C"); } } public class Main { public static void main(String[] args) { C c = new C(); c.method(); } } 5.以下程序的运行结果是______。 class GrandParent { public GrandParent() { System.out.println("GrandParent constructor"); } } class Parent extends GrandParent { public Parent() { System.out.println("Parent constructor"); } } class Child extends Parent { public Child() { System.out.println("Child constructor"); } } public class Main { public static void main(String[] args) { Child child = new Child(); } } 五、编程题(本大题共5小题,每题5分,共25分) 1.创建一个 Employee 类,包含私有属性 name(姓名)、age(年龄)、salary(工资)。提供公共的 getter 和 setter 方法,并且在 setter 方法中对输入进行验证,例如 age 必须在 18 到 60 之间,salary 不能为负数。 2.创建一个 Vehicle 类,包含属性 brand(品牌)和方法 move()。创建子类 Car 和 Bicycle 继承自 Vehicle,并重写 move() 方法,分别输出不同的移动方式。 3.创建一个 Employee 类,包含属性 name(姓名)和 baseSalary(基本工资),以及方法 calculateSalary() 计算总薪资(默认返回基本工资)。创建子类 Manager 继承自 Employee,并重写 calculateSalary() 方法,在基本工资基础上增加奖金(假设奖金为 5000)。 4.创建一个 Animal 类,包含属性 name(名字)和方法 feed() 输出喂养信息。创建子类 Dog 和 Cat 继承自 Animal,并重写 feed() 方法,分别输出不同的喂养信息。 5.创建一个 Sports 接口,包含方法 play()。创建三个类 Basketball(篮球)、Football(足球)和 Tennis(网球)实现 Sports 接口。Basketball 类的 play 方法输出 “正在打篮球”,Football 类的 play 方法输出 “正在踢足球”,Tennis 类的 play 方法输出 “正在打网球”。编写一个方法,该方法接受一个 Sports 数组,遍历数组并调用每个元素的 play 方法。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第30卷,是知识点训练卷。按“Java程序设计”考试纲要(三)面向对象程序设计的六点知识点要求编写,其六点要求是: 1.掌握类、对象、成员变量、成员方法、封装、继承、多态的基本概念。 2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。 3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。 4.掌握类的继承、子类的声明、super、this、方法覆盖。 5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。 6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第30卷 《Java程序设计》 (三)面向对象程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1. 关于构造方法,下列说法正确的是( ) A. 构造方法的返回值类型为 void B. 一个类中只能有一个构造方法 C. 构造方法的方法名必须与类名相同 D. 构造方法不能被重载 答案:C 2. 下列关于方法重载的描述,正确的是( ) A. 方法重载要求方法名不同,参数列表相同 B. 方法重载要求方法名相同,参数列表不同 C. 方法重载要求方法返回值类型不同,方法名和参数列表相同 D. 方法重载要求方法的访问权限不同,方法名和参数列表相同 答案:B 3. 有如下代码: class Rectangle { private int length; private int width; public Rectangle(int length, int width) { this.length = length; this.width = width; } public int getArea() { return length * width; } } 这里 this.length = length; 语句的作用是( ) A. 将参数 length 的值赋给成员变量 length B. 将成员变量 length 的值赋给参数 length C. 让 this 指向参数 length D. 让 this 指向成员变量 length 答案:A 4. 以下关于引用赋值的说法,错误的是( ) A. 引用赋值后,两个引用指向同一个对象 B. 引用赋值可以改变对象的实际内容 C. 引用赋值是将一个对象的引用复制给另一个引用 D. 引用赋值会创建一个新的对象 答案:D 5.在子类的构造方法中,使用 super() 调用父类构造方法时,super() 必须放在( ) A. 构造方法的任意位置 B. 构造方法的第一行 C. 构造方法的最后一行 D. 可以不写 答案:B 6.关于 abstract 类和 abstract 方法,下列说法正确的是( ) A. 子类继承抽象类后,不需要重写抽象类中abstract方法 B. abstract 类中只能包含 abstract 方法 C. abstract 方法的方法体可以为空 D. 抽象类不能被实例化 答案:D 7.接口中的方法默认是( ) A. public、static B. public、abstract C. private、abstract D. protected、static 答案:B 8.以下关于抽象类和接口的区别,说法错误的是( ) A. 抽象类可以有构造方法,接口没有构造方法 B. 抽象类中可以有非抽象方法 C. 一个类只能继承一个抽象类,但可以实现多个接口 D. 抽象类和接口都可以被实例化 答案:D 9. 有如下代码: class Animal { public void makeSound() { System.out.println("Some sound"); } } class Dog extends Animal { @Override public void makeSound() { System.out.println("Bark"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); animal.makeSound(); } } 这段代码体现了面向对象的( )特性。 A. 封装 B. 继承 C. 多态 D. 抽象 答案:C 10. 下列说法正确的是( ) class Book { String title; } public class Test { public static void main(String[] args) { Book b1 = new Book(); Book b2 = b1; b1.title = "Java编程"; } } A. b2.title 的值为 null B. b2.title 的值为 "Java 编程" C. b1 和 b2 是两个不同的对象 D. 给 b1.title 赋值后,b2.title 不会发生变化 答案:B 二、判断题(本大题共10小题,每小题2分,共20分) 1. 方法的参数传递中,基本数据类型是值传递,引用数据类型是引用传递。( ) 答案:正确 2. 当一个类的成员方法返回值类型为 void 时,该方法内部不能有 return 语句。( ) 答案:错误 3. 一个类的成员方法可以调用该类的静态方法,但静态方法不能直接调用非静态方法。( ) 答案:正确 4. 静态方法可以被继承,也可以被重写。( ) 答案:错误 5. 子类继承父类后,父类的私有成员变量和方法子类无法直接访问。( ) 答案:正确 6. super 关键字只能用于子类的构造方法中,不能用于子类的普通成员方法中。( ) 答案:错误 7. 抽象方法不能有方法体,并且必须在抽象类中声明。( ) 答案:正确 8. abstract 类中可以包含非 abstract 方法。( ) 答案:正确 9. 可以使用 this关键字可以调用父类的构造方法、成员变量和成员方法。( ) 答案:错误 10.一个类可以实现多个接口,接口之间用逗号分隔。( ) 答案:正确 三、填空题(本大题共5小题,每题2分,共10分) 1. 静态代码块使用 static 关键字修饰,它在 ______ 加载时执行,且只执行一次。 答案:类 2. 方法的返回值类型可以是基本数据类型,也可以是 ______ 类型。 答案:引用 3. 子类的构造方法中,使用 ______ 关键字调用父类的构造方法。 答案:super 4. 使用 ______ 关键字声明抽象类。 答案:abstract 5.若父类有一个非静态方法 void showInfo(),子类重写了该方法,若要在子类的 showInfo 方法中调用父类的 showInfo 方法,应使用 ______ 语句。 答案:super.showInfo(); 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 class Person { String name; public Person() { this("张三"); System.out.println("Person无参构造方法"); } public Person(String name) { this.name = name; System.out.println("Person有参构造方法,name:" + name); } } class Student extends Person { public Student() { System.out.println("Student无参构造方法"); } } public class TestPerson { public static void main(String[] args) { Student s = new Student(); } } 答案: Person有参构造方法,name:张三 Person无参构造方法 Student无参构造方法 2.以下程序的运行结果是______。 class Vehicle { public void move() { System.out.println("Vehicle is moving"); } } class Car extends Vehicle { @Override public void move() { System.out.println("Car is moving"); } } class Bicycle extends Vehicle { @Override public void move() { System.out.println("Bicycle is moving"); } } public class Main { public static void main(String[] args) { Vehicle[] vehicles = {new Car(), new Bicycle()}; for (Vehicle vehicle : vehicles) { vehicle.move(); } } } 答案: Car is moving Bicycle is moving 3.以下程序的运行结果是______。 class Parent { protected int num = 10; public void display() { System.out.println("Parent num: " + num); } } class Child extends Parent { private int num = 20; @Override public void display() { System.out.println("Child num: " + num); super.display(); } } public class Main { public static void main(String[] args) { Child child = new Child(); child.display(); } } 答案: Child num: 20 Parent num: 10 4.以下程序的运行结果是______。 class A { public void method() { System.out.println("Method in A"); } } class B extends A { @Override public void method() { System.out.println("Method in B"); } } class C extends B { @Override public void method() { super.method(); System.out.println("Method in C"); } } public class Main { public static void main(String[] args) { C c = new C(); c.method(); } } 答案: Method in B Method in C 5.以下程序的运行结果是______。 class GrandParent { public GrandParent() { System.out.println("GrandParent constructor"); } } class Parent extends GrandParent { public Parent() { System.out.println("Parent constructor"); } } class Child extends Parent { public Child() { System.out.println("Child constructor"); } } public class Main { public static void main(String[] args) { Child child = new Child(); } } 答案: GrandParent constructor Parent constructor Child constructor 五、编程题(本大题共5小题,每题5分,共25分) 1.创建一个 Employee 类,包含私有属性 name(姓名)、age(年龄)、salary(工资)。提供公共的 getter 和 setter 方法,并且在 setter 方法中对输入进行验证,例如 age 必须在 18 到 60 之间,salary 不能为负数。 答案: class Employee { private String name; private int age; private double salary; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { if (age >= 18 && age <= 60) { this.age = age; } else { System.out.println("Age must be between 18 and 60."); } } public double getSalary() { return salary; } public void setSalary(double salary) { if (salary >= 0) { this.salary = salary; } else { System.out.println("Salary cannot be negative."); } } } 2.创建一个 Vehicle 类,包含属性 brand(品牌)和方法 move()。创建子类 Car 和 Bicycle 继承自 Vehicle,并重写 move() 方法,分别输出不同的移动方式。 答案: class Vehicle { protected String brand; public Vehicle(String brand) { this.brand = brand; } public void move() { System.out.println(brand + " vehicle is moving."); } } class Car extends Vehicle { public Car(String brand) { super(brand); } @Override public void move() { System.out.println(brand + " car is driving on the road."); } } class Bicycle extends Vehicle { public Bicycle(String brand) { super(brand); } @Override public void move() { System.out.println(brand + " bicycle is pedaling."); } } 3.创建一个 Employee 类,包含属性 name(姓名)和 baseSalary(基本工资),以及方法 calculateSalary() 计算总薪资(默认返回基本工资)。创建子类 Manager 继承自 Employee,并重写 calculateSalary() 方法,在基本工资基础上增加奖金(假设奖金为 5000)。 答案: class Employee { protected String name; protected double baseSalary; public Employee(String name, double baseSalary) { this.name = name; this.baseSalary = baseSalary; } public double calculateSalary() { return baseSalary; } } class Manager extends Employee { public Manager(String name, double baseSalary) { super(name, baseSalary); } @Override public double calculateSalary() { return baseSalary + 5000; } } 4.创建一个 Animal 类,包含属性 name(名字)和方法 feed() 输出喂养信息。创建子类 Dog 和 Cat 继承自 Animal,并重写 feed() 方法,分别输出不同的喂养信息。 答案: class Animal { protected String name; public Animal(String name) { this.name = name; } public void feed() { System.out.println("Feeding " + name + "."); } } class Dog extends Animal { public Dog(String name) { super(name); } @Override public void feed() { System.out.println("Feeding " + name + " with dog food."); } } class Cat extends Animal { public Cat(String name) { super(name); } @Override public void feed() { System.out.println("Feeding " + name + " with cat food."); } } 5.创建一个 Sports 接口,包含方法 play()。创建三个类 Basketball(篮球)、Football(足球)和 Tennis(网球)实现 Sports 接口。Basketball 类的 play 方法输出 “正在打篮球”,Football 类的 play 方法输出 “正在踢足球”,Tennis 类的 play 方法输出 “正在打网球”。编写一个方法,该方法接受一个 Sports 数组,遍历数组并调用每个元素的 play 方法。 答案: interface Sports { void play(); } class Basketball implements Sports { @Override public void play() { System.out.println("正在打篮球"); } } class Football implements Sports { @Override public void play() { System.out.println("正在踢足球"); } } class Tennis implements Sports { @Override public void play() { System.out.println("正在打网球"); } } public class Main { public static void playAllSports(Sports[] sportsArray) { for (Sports sport : sportsArray) { sport.play(); } } public static void main(String[] args) { Sports[] sports = {new Basketball(), new Football(), new Tennis()}; playAllSports(sports); } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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