内容正文:
编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。
本试卷是第20卷,为知识训练卷,按《Java程序设计》中“面向对象程序设计”范围和要求编写。具体内容为:1.掌握类、对象、成员变量、成员方法、封装、继承、多态的基本概念。2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。4.掌握类的继承、子类的声明、super、this、方法覆盖。5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。
吉林省高职分类(对口招生)考试
电子与信息类《考纲百套卷》
第20卷 Java程序设计——面向对象程序设计
(考试时间:45分钟 满分:100分)
一、单项选择题(共20题,每题2分,共40分。)
1.定义一个类Student后,执行Student s=new Student(); 下列说法正确的是( )
A.s是类Student本身的一个别名
B.s是Student类的一个实例(对象)变量
C.s存储了整个类的定义代码
D.s等同于类名Student
2.以下代码中能够正确定义一个Java类的是( )
A.public interface Person{}
B.public enum Person{}
C.public class Person{}
D.public void Person(){}
3.阅读代码:class A{int x; void f(){int y;}}。以下说法正确的是( )
A.x和y都是成员变量
B.x和y都是局部变量
C.x是局部变量,y是成员变量
D.x是成员变量,y是局部变量
4.对于类Dog,以下能正确创建对象并调用其bark()方法的是( )
A.Dog d=new Dog(); d.bark();
B.Dog d=Dog(); d.bark();
C.new Dog.bark();
D.Dog.bark();
5.下列哪个时刻构造方法会被自动调用?( )
A.第一次调用对象的方法时
B.使用new关键字创建对象时
C.用.访问成员变量时
D.程序退出时
6.有Student s=new Student(); 要给s的name属性赋值,正确的是( )
A.s(name)="\u5f20\u4e09";
B.s[name]="\u5f20\u4e09";
C.Student.name="\u5f20\u4e09";
D.s.name="\u5f20\u4e09";
7.在构造方法Person(String name){this.name=name;}中,this.name表示( )
A.方法的参数name
B.父类的name变量
C.一个名为this的变量
D.当前对象的成员变量name
8.以下方法声明在类中可以正常编译的是( )
A.int get() { return "hello"; }
B.void get() { return 10; }
C.String get() { return "hello"; }
D.get() { return 10; }
9.类A中定义了A(int x){},之后执行new A();会( )
A.自动调用A(int x)传入默认值
B.编译错误,因为无参构造方法不存在
C.正常运行,调用默认构造
D.自动将x设为0
10.class A{void f(){g();} void g(){}} 中f()调用g(),( )
A.可以直接调用,g()是同一类的实例方法
B.必须先创建对象才能调用
C.编译错误,必须写成this.g()
D.只能在main中调用
11.class T{double x; boolean y; String z;} new T()后x、y、z的默认值分别是( )
A.null/false/null
B.0/false/""
C.0.0/true/""
D.0.0/false/null
12.有方法 public double half(int n){return n/2;} 调用half(5)返回( )
A.2
B.3
C.2.0
D.2.5
13.以下关于构造方法重载,正确的是( )
A.可以定义多个,只要参数个数或类型不同
B.只能有一个无参构造和一个有参构造
C.所有构造方法参数列表必须相同
D.构造方法不允许重载
14.void f(int x){x=100;} main中int a=5;f(a);后a的值为( )
A.100
B.5
C.编译错误
D.不确定
15.以下关于变量存储位置的说法,正确的是( )
A.所有变量都存储在栈中
B.成员变量和局部变量都在堆中
C.实例成员变量在堆中(随对象),局部变量在栈中
D.static变量在每个对象中有一份拷贝
16.void print(){return;} 以下说法正确的是( )
A.return;用于提前结束方法,不返回值
B.return;会返回null
C.void方法不能有return语句
D.return后的代码仍会执行
17.Student s1=new Student(); Student s2=s1; s2.name="\u674e"; 则s1.name为( )
A.null
B.\u674e
C.\u5f20\u4e09(\u539f\u503c)
D.\u7f16\u8bd1\u9519\u8bef
18.class A{static int n=0; A(){n++;}}执行new A();new A();后A.n为( )
A.0
B.1
C.null
D.2
19.new Dog().bark(); 和 Dog d=new Dog(); d.bark(); 的区别是( )
A.两者完全相同
B.前者无法编译
C.前者不保留对象引用,使用后不可再次访问
D.后者创建了两个对象
20.以下关于构造方法的描述,错误的是( )
A.构造方法的返回值类型是void
B.构造方法的名字必须与类名完全相同
C.可以使用new 类名(参数)调用有参构造
D.一个类可以有多个重载的构造方法
二、判断题(共10题,每题1分,共10分。)
1.一个Java源文件可以包含多个类,但只能有一个public类且文件名须与public类名一致。( )
2.成员变量在类中方法外声明,实例方法可直接访问,但static方法不能直接访问实例成员变量。( )
3.构造方法虽然没有返回值类型,但可以用return语句返回一个值给调用者。( )
4.new关键字在堆内存中为对象分配空间,并自动调用构造方法初始化对象。( )
5.方法内部定义的变量属于成员变量,作用域为整个类。( )
6.若一个类没有写任何构造方法,new对象会编译失败。( )
7.同一个类中的实例方法可以直接互相调用,不需要创建新对象。( )
8.this关键字可以在static方法中使用。( )
9.Java中所有变量都存储在堆内存中。( )
10.static方法可以不创建对象直接通过类名调用,但不能在static方法内直接访问实例变量。( )
三、填空题(共8题,每题2分,共16分。)
1.Java中创建对象必须使用____关键字,该关键字在堆内存中为对象分配空间。
2.类中有一类特殊方法,其方法名与____名完全相同且没有返回值类型,在创建对象时自动调用。
3.当成员变量与局部变量同名时,在方法内默认访问的是____变量;若要访问成员变量需加this.前缀。
4.定义在类体中、所有方法之外的变量,未被static修饰时称为____变量,每个对象独立拥有一份。
5.被____关键字修饰的成员属于整个类而非单个对象,所有实例共享同一份数据。
6.调用对象的方法时,使用格式为:____.方法名(参数)。
7.Java方法的参数传递机制是____传递:基本类型传值的副本,引用类型传引用值的副本。
8.如果类中没有显式定义任何构造方法,编译器会自动添加一个____的默认构造方法。
四、程序填空题(共2题,每题5分,共10分。)
1.以下程序输出name和age,请在____处填上合适的代码。
class Student {
String name;
int age;
Student(String n, int a) {
name = n;
____ = a;
}
void show() {
System.out.println(name + "," + age);
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student("\u5f20\u4e09", 20);
s.show();
}
}
2.以下程序计算并输出圆的面积,请在____处填上合适的代码。
class Circle {
double r;
Circle(double r) {
this.r = r;
}
double ____() {
return Math.PI * r * r;
}
}
public class Test {
public static void main(String[] args) {
Circle c = new Circle(3.0);
System.out.println(c.area());
}
}
五、编程题(共2题,每题12分,共24分。)
1.编写一个Rectangle类,包含width和height两个成员变量,提供带参构造方法和计算面积的area()方法。在main中创建对象并输出面积。
2.编写一个Circle类,包含半径radius变量和带参构造方法,提供perimeter()和area()两个方法。在main中创建对象并输出结果。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。
本试卷是第20卷,为知识训练卷,按《Java程序设计》中“面向对象程序设计”范围和要求编写。具体内容为:1.掌握类、对象、成员变量、成员方法、封装、继承、多态的基本概念。2.掌握类的声明、成员变量的声明、成员方法的声明与调用,方法的参数传递与返回值、方法的重载、静态变量和静态方法。3.掌握对象的创建和使用、构造方法与对象的初始化、成员变量、成员方法的访问、this的应用以及引用的赋值。4.掌握类的继承、子类的声明、super、this、方法覆盖。5.掌握类的访问权限:default、public;掌握类成员的访问权限:public、private、protected、default。6.掌握抽象类abstract类、abstract方法和接口的声明;了解接口的实现。
吉林省高职分类(对口招生)考试
电子与信息类《考纲百套卷》
第20卷 Java程序设计——面向对象程序设计
(考试时间:45分钟 满分:100分)
一、单项选择题(共20题,每题2分,共40分。)
1.定义一个类Student后,执行Student s=new Student(); 下列说法正确的是( )
A.s是类Student本身的一个别名
B.s是Student类的一个实例(对象)变量
C.s存储了整个类的定义代码
D.s等同于类名Student
【答案】B
【解析】new创建的对象是类的实例,s是引用变量指向该实例。类是模板,对象是根据模板创建的具体实体。
2.以下代码中能够正确定义一个Java类的是( )
A.public interface Person{}
B.public enum Person{}
C.public class Person{}
D.public void Person(){}
【答案】C
【解析】class定义类。interface定义接口,enum定义枚举,void Person()是方法声明。类是Java程序的基本组成单元。
3.阅读代码:class A{int x; void f(){int y;}}。以下说法正确的是( )
A.x和y都是成员变量
B.x和y都是局部变量
C.x是局部变量,y是成员变量
D.x是成员变量,y是局部变量
【答案】D
【解析】x定义在类中方法外,是成员(实例)变量;y定义在方法f()内,是局部变量。两者作用域不同。
4.对于类Dog,以下能正确创建对象并调用其bark()方法的是( )
A.Dog d=new Dog(); d.bark();
B.Dog d=Dog(); d.bark();
C.new Dog.bark();
D.Dog.bark();
【答案】A
【解析】new Dog()创建实例,d.bark()调用方法。Dog()缺少new;直接Dog.bark()需bark为static方法。
5.下列哪个时刻构造方法会被自动调用?( )
A.第一次调用对象的方法时
B.使用new关键字创建对象时
C.用.访问成员变量时
D.程序退出时
【答案】B
【解析】构造方法在new时由JVM自动调用,用于为对象成员变量赋初值。之后不再自动调用。
6.有Student s=new Student(); 要给s的name属性赋值,正确的是( )
A.s(name)="\u5f20\u4e09";
B.s[name]="\u5f20\u4e09";
C.Student.name="\u5f20\u4e09";
D.s.name="\u5f20\u4e09";
【答案】D
【解析】Java用点号.访问实例成员:s.name。s[name]是数组语法,Student.name是访问静态成员。
7.在构造方法Person(String name){this.name=name;}中,this.name表示( )
A.方法的参数name
B.父类的name变量
C.一个名为this的变量
D.当前对象的成员变量name
【答案】D
【解析】this代表当前正在构造的对象,this.name访问该对象的成员变量,与参数name区分。
8.以下方法声明在类中可以正常编译的是( )
A.int get() { return "hello"; }
B.void get() { return 10; }
C.String get() { return "hello"; }
D.get() { return 10; }
【答案】C
【解析】String返回值与return "hello"类型匹配。A/B返回值与声明不符,D缺少返回值类型声明。
9.类A中定义了A(int x){},之后执行new A();会( )
A.自动调用A(int x)传入默认值
B.编译错误,因为无参构造方法不存在
C.正常运行,调用默认构造
D.自动将x设为0
【答案】B
【解析】自定义了有参构造后,默认无参构造消失。new A()需匹配A(),但A()不存在故编译报错。
10.class A{void f(){g();} void g(){}} 中f()调用g(),( )
A.可以直接调用,g()是同一类的实例方法
B.必须先创建对象才能调用
C.编译错误,必须写成this.g()
D.只能在main中调用
【答案】A
【解析】同一实例方法间可直接互调。编译器自动隐含this.g()。若g是static则需A.g()或先有对象。
11.class T{double x; boolean y; String z;} new T()后x、y、z的默认值分别是( )
A.null/false/null
B.0/false/""
C.0.0/true/""
D.0.0/false/null
【答案】D
【解析】double默认0.0,boolean默认false,String(引用)默认null。局部变量无此默认,必须赋值后使用。
12.有方法 public double half(int n){return n/2;} 调用half(5)返回( )
A.2
B.3
C.2.0
D.2.5
【答案】C
【解析】n/2是整数除法得2,return时自动转为double类型2.0。要得2.5需写n/2.0。
13.以下关于构造方法重载,正确的是( )
A.可以定义多个,只要参数个数或类型不同
B.只能有一个无参构造和一个有参构造
C.所有构造方法参数列表必须相同
D.构造方法不允许重载
【答案】A
【解析】构造方法支持重载,条件同普通方法:参数列表必须不同(个数/类型/顺序不同均可)。
14.void f(int x){x=100;} main中int a=5;f(a);后a的值为( )
A.100
B.5
C.编译错误
D.不确定
【答案】B
【解析】基本类型传值副本,x=100只改形参,不影响实参a。a保持5。对象参数传引用副本但指向同一对象。
15.以下关于变量存储位置的说法,正确的是( )
A.所有变量都存储在栈中
B.成员变量和局部变量都在堆中
C.实例成员变量在堆中(随对象),局部变量在栈中
D.static变量在每个对象中有一份拷贝
【答案】C
【解析】实例成员变量随对象在堆中分配;局部变量在方法调用时入栈。static变量在方法区,全局一份。
16.void print(){return;} 以下说法正确的是( )
A.return;用于提前结束方法,不返回值
B.return;会返回null
C.void方法不能有return语句
D.return后的代码仍会执行
【答案】A
【解析】void方法中return;仅提前退出,不能带返回值。无return时执行到方法末尾自动返回。
17.Student s1=new Student(); Student s2=s1; s2.name="\u674e"; 则s1.name为( )
A.null
B.\u674e
C.\u5f20\u4e09(\u539f\u503c)
D.\u7f16\u8bd1\u9519\u8bef
【答案】B
【解析】s2和s1指向同一个堆对象(引用赋值,未创建新对象)。通过任一个引用修改,另一个引用也可见。
18.class A{static int n=0; A(){n++;}}执行new A();new A();后A.n为( )
A.0
B.1
C.null
D.2
【答案】D
【解析】static变量属于类,所有实例共享一份。两次new各调用构造n++,n从0变为2。用A.n直接访问。
19.new Dog().bark(); 和 Dog d=new Dog(); d.bark(); 的区别是( )
A.两者完全相同
B.前者无法编译
C.前者不保留对象引用,使用后不可再次访问
D.后者创建了两个对象
【答案】C
【解析】new Dog().bark()创建匿名对象调用方法后无法再次引用该对象;后者保留了引用d可多次使用。
20.以下关于构造方法的描述,错误的是( )
A.构造方法的返回值类型是void
B.构造方法的名字必须与类名完全相同
C.可以使用new 类名(参数)调用有参构造
D.一个类可以有多个重载的构造方法
【答案】A
【解析】构造方法根本没有返回值类型(void也不能写),A错误。B/C/D均正确。
二、判断题(共10题,每题1分,共10分。)
1.一个Java源文件可以包含多个类,但只能有一个public类且文件名须与public类名一致。( )
【答案】√
【解析】多个类共存于一个文件合法,public类最多一个,且源文件名必须与public类名完全一致(含大小写)。
2.成员变量在类中方法外声明,实例方法可直接访问,但static方法不能直接访问实例成员变量。( )
【答案】√
【解析】实例成员变量属于对象级别,static方法属于类级别(无this引用),需通过对象引用访问实例成员。
3.构造方法虽然没有返回值类型,但可以用return语句返回一个值给调用者。( )
【答案】×
【解析】构造方法既没有返回值类型声明,也不能用return返回值。new表达式本身返回对象引用。
4.new关键字在堆内存中为对象分配空间,并自动调用构造方法初始化对象。( )
【答案】√
【解析】new分配堆内存、默认初始化成员变量、调用构造方法、返回堆中对象的引用。引用变量存在栈中。
5.方法内部定义的变量属于成员变量,作用域为整个类。( )
【答案】×
【解析】方法内部定义的是局部变量,作用域仅限于该方法。成员变量在类中方法外声明,作用域为整个类。
6.若一个类没有写任何构造方法,new对象会编译失败。( )
【答案】×
【解析】编译器自动提供无参默认构造,new仍可正常创建对象。若自定义了有参构造,默认构造才会消失。
7.同一个类中的实例方法可以直接互相调用,不需要创建新对象。( )
【答案】√
【解析】实例方法间通过隐含的this直接互调。注意:static方法调用实例方法必须通过对象引用。
8.this关键字可以在static方法中使用。( )
【答案】×
【解析】this代表当前对象,只能在构造方法和实例方法中使用。static方法中没有this上下文,编译报错。
9.Java中所有变量都存储在堆内存中。( )
【答案】×
【解析】引用变量和局部变量在栈中,new出的对象实例在堆中。static变量在方法区,不是堆。
10.static方法可以不创建对象直接通过类名调用,但不能在static方法内直接访问实例变量。( )
【答案】√
【解析】static方法属于类级别,可类名.调用。但无this引用,需先new对象再通过对象引用访问实例成员。
三、填空题(共8题,每题2分,共16分。)
1.Java中创建对象必须使用____关键字,该关键字在堆内存中为对象分配空间。
【答案】new
【解析】new 类名()完成三件事:堆内存分配、成员变量默认初始化、构造方法调用。返回对象引用。
2.类中有一类特殊方法,其方法名与____名完全相同且没有返回值类型,在创建对象时自动调用。
【答案】类
【解析】构造方法名=类名,无返回类型(void也不写),在new时由JVM自动调用完成初始化。
3.当成员变量与局部变量同名时,在方法内默认访问的是____变量;若要访问成员变量需加this.前缀。
【答案】局部
【解析】就近原则:同名时局部变量优先。用this.成员变量名显式访问被屏蔽的成员变量。
4.定义在类体中、所有方法之外的变量,未被static修饰时称为____变量,每个对象独立拥有一份。
【答案】实例
【解析】实例变量(instance variable)随对象存储。区别于static类变量(所有对象共享一份)。
5.被____关键字修饰的成员属于整个类而非单个对象,所有实例共享同一份数据。
【答案】static
【解析】static变量(类变量)只有一份拷贝。通过类名直接访问,如Math.PI。常用于计数器等场景。
6.调用对象的方法时,使用格式为:____.方法名(参数)。
【答案】对象名
【解析】Java用点号运算符.访问对象的成员。如student.getName()调用student引用的对象的getName方法。
7.Java方法的参数传递机制是____传递:基本类型传值的副本,引用类型传引用值的副本。
【答案】值
【解析】Java只有值传递。对于对象参数,传递的是引用(地址)的副本,但副本指向同一个堆对象。
8.如果类中没有显式定义任何构造方法,编译器会自动添加一个____的默认构造方法。
【答案】无参数
【解析】默认构造方法public 类名(){}。一旦显式定义任意构造(有参或无参),默认构造不再自动提供。
四、程序填空题(共2题,每题5分,共10分。)
1.以下程序输出name和age,请在____处填上合适的代码。
class Student {
String name;
int age;
Student(String n, int a) {
name = n;
____ = a;
}
void show() {
System.out.println(name + "," + age);
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student("\u5f20\u4e09", 20);
s.show();
}
}
【答案】age
【解析】构造方法中age=a将参数a赋给成员变量age。与上一行name=n对应,完成两个成员变量的初始化。
2.以下程序计算并输出圆的面积,请在____处填上合适的代码。
class Circle {
double r;
Circle(double r) {
this.r = r;
}
double ____() {
return Math.PI * r * r;
}
}
public class Test {
public static void main(String[] args) {
Circle c = new Circle(3.0);
System.out.println(c.area());
}
}
【答案】area
【解析】从调用c.area()可知方法名为area。该方法返回π×r²即圆的面积。Math.PI是Java提供的圆周率常量。
五、编程题(共2题,每题12分,共24分。)
1.编写一个Rectangle类,包含width和height两个成员变量,提供带参构造方法和计算面积的area()方法。在main中创建对象并输出面积。
【答案】
class Rectangle {
double width, height;
Rectangle(double w, double h) {
width = w;
height = h;
}
double area() {
return width * height;
}
}
public class Test {
public static void main(String[] args) {
Rectangle r = new Rectangle(5.0, 3.0);
System.out.println("面积=" + r.area());
}
}
【解析】Rectangle(5.0,3.0)调用带参构造初始化。area()计算5.0×3.0=15.0并返回。考查带参构造和方法定义。
2.编写一个Circle类,包含半径radius变量和带参构造方法,提供perimeter()和area()两个方法。在main中创建对象并输出结果。
【答案】
class Circle {
double radius;
Circle(double r) {
radius = r;
}
double perimeter() {
return 2 * Math.PI * radius;
}
double area() {
return Math.PI * radius * radius;
}
}
public class Test {
public static void main(String[] args) {
Circle c = new Circle(3.0);
System.out.println("周长=" + c.perimeter());
System.out.println("面积=" + c.area());
}
}
【解析】new Circle(3.0)设半径为3。周长2π×3≈18.85,面积π×3²≈28.27。考查多方法类的定义与调用。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$