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

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

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第31卷,是知识点训练卷。按“Java程序设计”考试纲要(三)面向对象程序设计的六点知识点要求编写,其六点要求是: 1.掌握类、对象、成员变量、成员方法、封装、继承、多态的基本概念。 2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。 3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。 4.掌握类的继承、子类的声明、super、this、方法覆盖。 5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。 6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第31卷 《Java程序设计》 (三)面向对象程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1. 有如下代码: class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } } 这体现了 Java 中的( ) A. 方法的重写 B. 方法的重载 C. 多态 D. 继承 2. 下列关于 Java 类声明的说法,正确的是( ) A. 一个 Java 源文件中可以有多个 public 类 B. 一个 Java 源文件中只能有一个 public 类 C. 类声明时必须使用 public 修饰符 D. 类中不能包含成员变量,只能包含成员方法 3. 以下关于方法重载的说法,正确的是( ) A. 方法重载只要求方法名相同 B. 方法重载要求方法的返回值类型必须不同 C. 方法重载要求方法的参数列表必须不同 D. 方法重载只能在子类中实现 4. 有如下代码: class Counter { static int count = 0; public Counter() { count++; } public static int getCount() { return count; } } 执行以下代码: Counter c1 = new Counter(); Counter c2 = new Counter(); System.out.println(Counter.getCount()); 输出结果是( ) A. 0 B. 1 C. 2 D. 3 5.关于静态变量和静态方法,下列说法错误的是( ) A. 静态变量属于类,不属于单个对象,被所有对象共享 B. 访问静态变量可以通过 “类名.静态变量名” C. 静态方法可以直接访问非静态成员变量 D. 静态方法中不能使用 this 关键字 6.在子类中,要调用父类的无参构造方法,可使用( )关键字 A. this B.public C. static D. super 7.一个类实现接口时,必须( ) A. 实现接口中的所有方法 B. 实现接口中的部分方法 C. 不实现接口中的任何方法 D. 可以选择实现接口中的方法 8.若有如下代码: abstract class Shape { abstract void draw(); } class Circle extends Shape { @Override void draw() { System.out.println("Drawing a circle."); } } 这里 Circle 类对 Shape 类的 draw() 方法进行了( ) A. 方法重载 B. 方法覆盖 C. 方法隐藏 D. 方法调用 9. 下列关于接口的声明,正确的是( ) A. interface MyInterface {void show (); } B. class MyInterface { void show (); } C. abstract interface MyInterface { void show (); } D. interface MyInterface { void show () {} } 10. 以下体现了多态性的是( ) A. 一个类中定义了多个同名但参数列表不同的方法 B. 子类继承父类并实现了父类的抽象方法 C. 类的成员变量使用 private 修饰,通过 public 方法访问 D. 不同的对象对同一消息做出不同的响应 二、判断题(本大题共10小题,每小题2分,共20分) 1. Java 中,类是对象的模板,对象是类的实例。( ) 2. 若一个类有多个构造方法,在创建对象时,会根据传入的参数自动选择合适的构造方法。( ) 3. 类的成员变量可以和局部变量同名,在方法中访问同名变量时,默认访问的是局部变量。( ) 4. 静态方法可以访问非静态方法。( ) 5. 方法覆盖时,子类方法的访问权限可以低于父类方法的访问权限。( ) 6. 方法重写时,子类方法的返回值类型必须与父类方法的返回值类型完全相同。( ) 7. 接口中的成员变量修饰符默认是 private static final 。( ) 8. 实现接口的类必须实现接口中的所有抽象方法,否则该类必须声明为抽象类。( ) 9. 在子类中使用 super 关键字可以调用父类的构造方法、成员变量和成员方法。( ) 10.多态性只能通过继承和方法重写来实现。( ) 三、填空题(本大题共5小题,每题2分,共10分) 1. 构造方法的主要作用是 ______ 和 ______ 对象。 2. 若要在子类的构造方法中调用父类的构造方法,需要使用 ______ 关键字。 3. 子类的构造方法中,使用 ______ 关键字调用本类的其他构造方法。 4. 使用 ______ 关键字声明抽象方法。 5.定义一个接口 Printable,其中有一个抽象方法 void print(),类 Document 要实现该接口,类的声明语句为 class Document ______ Printable。 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 class Shape { public void draw() { System.out.println("Drawing a shape"); } } class Circle extends Shape { @Override public void draw() { System.out.println("Drawing a circle"); } } public class Main { public static void main(String[] args) { Shape shape = new Circle(); shape.draw(); } } 2.以下程序的运行结果是______。 class Calculator { public int add(int a, int b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } public class TestCalculator { public static void main(String[] args) { Calculator cal = new Calculator(); System.out.println(cal.add(2, 3)); System.out.println(cal.add(1, 2, 3)); } } 3.以下程序的运行结果是______。 class Book { private String title; private int pages; public void setTitle(String title) { if (title != null && !title.isEmpty()) { this.title = title; } } public void setPages(int pages) { if (pages > 0) { this.pages = pages; } } public String getTitle() { return title; } public int getPages() { return pages; } } public class Main { public static void main(String[] args) { Book book = new Book(); book.setTitle("Java Programming"); book.setPages(-10); System.out.println("Book title: " + book.getTitle()); System.out.println("Book pages: " + book.getPages()); } } 4.以下程序的运行结果是______。 class Employee { private String name; private int age; public Employee(String name, int age) { if (name != null && !name.isEmpty() && age > 0 && age < 100) { this.name = name; this.age = age; } else { this.name = "Unknown"; this.age = 0; } } public String getName() { return name; } public int getAge() { return age; } } public class Main { public static void main(String[] args) { Employee emp1 = new Employee("John", 30); Employee emp2 = new Employee(null, -5); System.out.println(emp1.getName() + " is " + emp1.getAge() + " years old."); System.out.println(emp2.getName() + " is " + emp2.getAge() + " years old."); } } 5.以下程序的运行结果是______。 class Vehicle { public void drive() throws Exception { System.out.println("Driving a vehicle"); } } class Car extends Vehicle { @Override public void drive() { System.out.println("Driving a car"); } } public class Main { public static void main(String[] args) { Vehicle vehicle = new Car(); try { vehicle.drive(); } catch (Exception e) { e.printStackTrace(); } } } 五、编程题(本大题共5小题,每题5分,共25分) 1.创建一个抽象类 Shape,包含抽象方法 getArea()。创建两个子类 Circle 和 Rectangle 继承自 Shape,分别实现 getArea() 方法来计算圆和矩形的面积。 2.创建一个 Drawable 接口,包含方法 draw()。创建类 Circle 和 Square 实现 Drawable 接口,分别实现 draw() 方法输出不同的绘制信息。创建一个方法,接受 Drawable 类型的参数,并调用其 draw() 方法。 3.创建一个 MusicPlayer 类,包含方法 playMusic()。创建子类 MP3Player、CDPlayer 和 VinylPlayer 继承自 MusicPlayer,并重写 playMusic() 方法,分别输出不同的播放信息。使用多态性,创建一个 MusicPlayer 类型的数组,存储不同的播放器对象,并调用它们的 playMusic() 方法。 4.创建一个 FileHandler 接口,包含方法 processFile()。创建类 TextFileHandler 和 ImageFileHandler 实现 FileHandler 接口,分别实现 processFile() 方法输出不同的文件处理信息。创建一个方法,接受 FileHandler 类型的参数,并调用其 processFile() 方法。 5.创建一个 Employee 类,包含私有属性 name(员工姓名)、employeeId(员工编号)和 baseSalary(基本工资)。提供公共的 getter 和 setter 方法。创建一个抽象方法 calculatePerformanceBonus() 用于计算绩效奖金。创建两个子类 SalesEmployee(销售员工)和 TechnicalEmployee(技术员工)继承自 Employee。SalesEmployee 类有一个额外的属性 salesAmount(销售金额),TechnicalEmployee 类有一个额外的属性 projectsCompleted(完成项目数)。SalesEmployee 类的 calculatePerformanceBonus 方法根据销售金额的 5% 计算绩效奖金,TechnicalEmployee 类的 calculatePerformanceBonus 方法根据每个完成项目奖励 1000 元计算绩效奖金。编写一个方法,接受一个 Employee 数组,遍历数组并输出每个员工的姓名、基本工资和绩效奖金。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第31卷,是知识点训练卷。按“Java程序设计”考试纲要(三)面向对象程序设计的六点知识点要求编写,其六点要求是: 1.掌握类、对象、成员变量、成员方法、封装、继承、多态的基本概念。 2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。 3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。 4.掌握类的继承、子类的声明、super、this、方法覆盖。 5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。 6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第31卷 《Java程序设计》 (三)面向对象程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1. 有如下代码: class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } } 这体现了 Java 中的( ) A. 方法的重写 B. 方法的重载 C. 多态 D. 继承 答案:B 2. 下列关于 Java 类声明的说法,正确的是( ) A. 一个 Java 源文件中可以有多个 public 类 B. 一个 Java 源文件中只能有一个 public 类 C. 类声明时必须使用 public 修饰符 D. 类中不能包含成员变量,只能包含成员方法 答案:B 3. 以下关于方法重载的说法,正确的是( ) A. 方法重载只要求方法名相同 B. 方法重载要求方法的返回值类型必须不同 C. 方法重载要求方法的参数列表必须不同 D. 方法重载只能在子类中实现 答案:C 4. 有如下代码: class Counter { static int count = 0; public Counter() { count++; } public static int getCount() { return count; } } 执行以下代码: Counter c1 = new Counter(); Counter c2 = new Counter(); System.out.println(Counter.getCount()); 输出结果是( ) A. 0 B. 1 C. 2 D. 3 答案:C 5.关于静态变量和静态方法,下列说法错误的是( ) A. 静态变量属于类,不属于单个对象,被所有对象共享 B. 访问静态变量可以通过 “类名.静态变量名” C. 静态方法可以直接访问非静态成员变量 D. 静态方法中不能使用 this 关键字 答案:C 6.在子类中,要调用父类的无参构造方法,可使用( )关键字 A. this B.public C. static D. super 答案:D 7.一个类实现接口时,必须( ) A. 实现接口中的所有方法 B. 实现接口中的部分方法 C. 不实现接口中的任何方法 D. 可以选择实现接口中的方法 答案:A 8.若有如下代码: abstract class Shape { abstract void draw(); } class Circle extends Shape { @Override void draw() { System.out.println("Drawing a circle."); } } 这里 Circle 类对 Shape 类的 draw() 方法进行了( ) A. 方法重载 B. 方法覆盖 C. 方法隐藏 D. 方法调用 答案:B 9. 下列关于接口的声明,正确的是( ) A. interface MyInterface {void show (); } B. class MyInterface { void show (); } C. abstract interface MyInterface { void show (); } D. interface MyInterface { void show () {} } 答案:A 10. 以下体现了多态性的是( ) A. 一个类中定义了多个同名但参数列表不同的方法 B. 子类继承父类并实现了父类的抽象方法 C. 类的成员变量使用 private 修饰,通过 public 方法访问 D. 不同的对象对同一消息做出不同的响应 答案:D 二、判断题(本大题共10小题,每小题2分,共20分) 1. Java 中,类是对象的模板,对象是类的实例。( ) 答案:正确 2. 若一个类有多个构造方法,在创建对象时,会根据传入的参数自动选择合适的构造方法。( ) 答案:正确 3. 类的成员变量可以和局部变量同名,在方法中访问同名变量时,默认访问的是局部变量。( ) 答案:正确 4. 静态方法可以访问非静态方法。( ) 答案:错误 5. 方法覆盖时,子类方法的访问权限可以低于父类方法的访问权限。( ) 答案:错误 6. 方法重写时,子类方法的返回值类型必须与父类方法的返回值类型完全相同。( ) 答案:错误 7. 接口中的成员变量修饰符默认是 private static final 。( ) 答案:错误 8. 实现接口的类必须实现接口中的所有抽象方法,否则该类必须声明为抽象类。( ) 答案:正确 9. 在子类中使用 super 关键字可以调用父类的构造方法、成员变量和成员方法。( ) 答案:正确 10.多态性只能通过继承和方法重写来实现。( ) 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1. 构造方法的主要作用是 ______ 和 ______ 对象。 答案:创建;初始化 2. 若要在子类的构造方法中调用父类的构造方法,需要使用 ______ 关键字。 答案:super 3. 子类的构造方法中,使用 ______ 关键字调用本类的其他构造方法。 答案:this 4. 使用 ______ 关键字声明抽象方法。 答案:abstract 5.定义一个接口 Printable,其中有一个抽象方法 void print(),类 Document 要实现该接口,类的声明语句为 class Document ______ Printable。 答案:implements 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 class Shape { public void draw() { System.out.println("Drawing a shape"); } } class Circle extends Shape { @Override public void draw() { System.out.println("Drawing a circle"); } } public class Main { public static void main(String[] args) { Shape shape = new Circle(); shape.draw(); } } 答案:Drawing a circle 2.以下程序的运行结果是______。 class Calculator { public int add(int a, int b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } public class TestCalculator { public static void main(String[] args) { Calculator cal = new Calculator(); System.out.println(cal.add(2, 3)); System.out.println(cal.add(1, 2, 3)); } } 答案: 5 6 3.以下程序的运行结果是______。 class Book { private String title; private int pages; public void setTitle(String title) { if (title != null && !title.isEmpty()) { this.title = title; } } public void setPages(int pages) { if (pages > 0) { this.pages = pages; } } public String getTitle() { return title; } public int getPages() { return pages; } } public class Main { public static void main(String[] args) { Book book = new Book(); book.setTitle("Java Programming"); book.setPages(-10); System.out.println("Book title: " + book.getTitle()); System.out.println("Book pages: " + book.getPages()); } } 答案: Book title: Java Programming Book pages: 0 4.以下程序的运行结果是______。 class Employee { private String name; private int age; public Employee(String name, int age) { if (name != null && !name.isEmpty() && age > 0 && age < 100) { this.name = name; this.age = age; } else { this.name = "Unknown"; this.age = 0; } } public String getName() { return name; } public int getAge() { return age; } } public class Main { public static void main(String[] args) { Employee emp1 = new Employee("John", 30); Employee emp2 = new Employee(null, -5); System.out.println(emp1.getName() + " is " + emp1.getAge() + " years old."); System.out.println(emp2.getName() + " is " + emp2.getAge() + " years old."); } } 答案: John is 30 years old. Unknown is 0 years old. 5.以下程序的运行结果是______。 class Vehicle { public void drive() throws Exception { System.out.println("Driving a vehicle"); } } class Car extends Vehicle { @Override public void drive() { System.out.println("Driving a car"); } } public class Main { public static void main(String[] args) { Vehicle vehicle = new Car(); try { vehicle.drive(); } catch (Exception e) { e.printStackTrace(); } } } 答案:Driving a car 五、编程题(本大题共5小题,每题5分,共25分) 1.创建一个抽象类 Shape,包含抽象方法 getArea()。创建两个子类 Circle 和 Rectangle 继承自 Shape,分别实现 getArea() 方法来计算圆和矩形的面积。 答案: abstract class Shape { public abstract double getArea(); } class Circle extends Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return Math.PI * radius * radius; } } class Rectangle extends Shape { private double length; private double width; public Rectangle(double length, double width) { this.length = length; this.width = width; } @Override public double getArea() { return length * width; } } 2.创建一个 Drawable 接口,包含方法 draw()。创建类 Circle 和 Square 实现 Drawable 接口,分别实现 draw() 方法输出不同的绘制信息。创建一个方法,接受 Drawable 类型的参数,并调用其 draw() 方法。 答案: interface Drawable { void draw(); } class Circle implements Drawable { @Override public void draw() { System.out.println("Drawing a circle."); } } class Square implements Drawable { @Override public void draw() { System.out.println("Drawing a square."); } } public class Main { public static void drawShape(Drawable drawable) { drawable.draw(); } public static void main(String[] args) { Circle circle = new Circle(); Square square = new Square(); drawShape(circle); drawShape(square); } } 3.创建一个 MusicPlayer 类,包含方法 playMusic()。创建子类 MP3Player、CDPlayer 和 VinylPlayer 继承自 MusicPlayer,并重写 playMusic() 方法,分别输出不同的播放信息。使用多态性,创建一个 MusicPlayer 类型的数组,存储不同的播放器对象,并调用它们的 playMusic() 方法。 答案: class MusicPlayer { public void playMusic() { System.out.println("Playing music."); } } class MP3Player extends MusicPlayer { @Override public void playMusic() { System.out.println("Playing MP3 music."); } } class CDPlayer extends MusicPlayer { @Override public void playMusic() { System.out.println("Playing CD music."); } } class VinylPlayer extends MusicPlayer { @Override public void playMusic() { System.out.println("Playing vinyl music."); } } public class Main { public static void main(String[] args) { MusicPlayer[] players = {new MP3Player(), new CDPlayer(), new VinylPlayer()}; for (MusicPlayer player : players) { player.playMusic(); } } } 4.创建一个 FileHandler 接口,包含方法 processFile()。创建类 TextFileHandler 和 ImageFileHandler 实现 FileHandler 接口,分别实现 processFile() 方法输出不同的文件处理信息。创建一个方法,接受 FileHandler 类型的参数,并调用其 processFile() 方法。 答案: interface FileHandler { void processFile(); } class TextFileHandler implements FileHandler { @Override public void processFile() { System.out.println("Processing text file."); } } class ImageFileHandler implements FileHandler { @Override public void processFile() { System.out.println("Processing image file."); } } public class Main { public static void handleFile(FileHandler handler) { handler.processFile(); } public static void main(String[] args) { TextFileHandler textHandler = new TextFileHandler(); ImageFileHandler imageHandler = new ImageFileHandler(); handleFile(textHandler); handleFile(imageHandler); } } 5.创建一个 Employee 类,包含私有属性 name(员工姓名)、employeeId(员工编号)和 baseSalary(基本工资)。提供公共的 getter 和 setter 方法。创建一个抽象方法 calculatePerformanceBonus() 用于计算绩效奖金。创建两个子类 SalesEmployee(销售员工)和 TechnicalEmployee(技术员工)继承自 Employee。SalesEmployee 类有一个额外的属性 salesAmount(销售金额),TechnicalEmployee 类有一个额外的属性 projectsCompleted(完成项目数)。SalesEmployee 类的 calculatePerformanceBonus 方法根据销售金额的 5% 计算绩效奖金,TechnicalEmployee 类的 calculatePerformanceBonus 方法根据每个完成项目奖励 1000 元计算绩效奖金。编写一个方法,接受一个 Employee 数组,遍历数组并输出每个员工的姓名、基本工资和绩效奖金。 答案: abstract class Employee { private String name; private String employeeId; private double baseSalary; public Employee(String name, String employeeId, double baseSalary) { this.name = name; this.employeeId = employeeId; this.baseSalary = baseSalary; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmployeeId() { return employeeId; } public void setEmployeeId(String employeeId) { this.employeeId = employeeId; } public double getBaseSalary() { return baseSalary; } public void setBaseSalary(double baseSalary) { this.baseSalary = baseSalary; } public abstract double calculatePerformanceBonus(); } class SalesEmployee extends Employee { private double salesAmount; public SalesEmployee(String name, String employeeId, double baseSalary, double salesAmount) { super(name, employeeId, baseSalary); this.salesAmount = salesAmount; } @Override public double calculatePerformanceBonus() { return salesAmount * 0.05; } } class TechnicalEmployee extends Employee { private int projectsCompleted; public TechnicalEmployee(String name, String employeeId, double baseSalary, int projectsCompleted) { super(name, employeeId, baseSalary); this.projectsCompleted = projectsCompleted; } @Override public double calculatePerformanceBonus() { return projectsCompleted * 1000; } } public class Main { public static void printEmployeeInfo(Employee[] employees) { for (Employee employee : employees) { System.out.println("姓名: " + employee.getName() + ", 基本工资: " + employee.getBaseSalary() + ", 绩效奖金: " + employee.calculatePerformanceBonus()); } } public static void main(String[] args) { Employee[] employees = { new SalesEmployee("张三", "001", 5000, 20000), new TechnicalEmployee("李四", "002", 6000, 3) }; printEmployeeInfo(employees); } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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