内容正文:
编写说明: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);
}
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$