笔试强训5

文章介绍了Java编程中的类特性,如抽象类不能被实例化但可被继承,最终类(密封类)不能被继承。还讨论了数组和字符串的length属性,访问修饰符的作用范围,以及构造方法和静态代码块的执行顺序。此外,文章涉及了异常处理、三元运算符和数据类型的转换规则。
摘要由CSDN通过智能技术生成

作者:爱塔居

专栏:笔试强训

作者简介:大三学生,希望和大家一起进步

目录

day6

day7


day6

1.关于抽象类与最终类,下列说法错误的是?

A 抽象类能被继承,最终类只能被实例化。
B 抽象类和最终类都可以被声明使用
C 抽象类中可以没有抽象方法,最终类中可以没有最终方法
D 抽象类和最终类被继承时,方法可以被子类覆盖

最终类是密封类final

最终类不能被继承

2. 已知表达式int m[]={0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量最大值相等?
A m. length()
B m. length-1
C m. length()+1
D m. length+1

Java中的length和length()都是用来获取数组或字符串的长度的。

  • length是数组的属性,直接使用"数组名.length"来获取数组的长度。
  • length()是字符串类的方法,使用"字符串名.length()"来获取字符串的长度。

3. 下列哪个对访问修饰符作用范围由大到小排列是正确的?
A private>default>protected>public
B public>default>protected>private
C private>protected>default>public
D public>protected>default>private

  • public:可以被任何类访问。
  • protected:可以被同一包内的类和子类访问。
  • default(包访问权限):可以被同一包内的类访问。没写,默认default,不要写。
  • private:只能被本类访问。


5.阅读下列程序,选择哪一个是正确的输出结果
class HelloA{
public HelloA()
{
System.out.println("I’m A class ");
}
static
{
System.out.println("static A");
}
}
public class HelloB extends HelloA{
public HelloB()
{
System.out.println("I’m B class");
}
static{
System.out.println("static B");
}
public static void main (String[] args){
new HelloB();
}
}
A static A I’m A class static B I’m B class
B I’m A class I’m B class static A static B
C static A static B I’m A class I’m B class
D I’m A class static A I’m B class static B

优先执行静态代码块。先执行父类静态代码块static A,再执行子类静态代码块static B。子类继承父类,先执行父类的构造方法I‘m A class ,再执行I’m B class


6.执行下列代码的输出结果是( )
public class Demo{
public static void main(String args[]){
int num = 10;
System.out.println(test(num));
}
public static int test(int b){
try
{
b += 10;
return b;
}
catch(RuntimeException e)
{
}
catch(Exception e2)
{
}
finally
{
b += 10;
return b;
}
}
}

A 10
B 20
C 30
D 40

最开始,b=10,执行try代码块,b=20,再执行final代码块,b=30

7.下列代码的输出结果是_____
boolean b=true?false:true==true?false:true;

System.out.println(b);

A true
B false
C null
D 空字符串

boolean b=true?    false:      true==true?false:true;

true==true?false:true   结果是flase


二. 不定项选择
1. 在Java中下面Class的声明哪些是错误的?
A public abstract final class Test { abstract void method(); }
B public abstract class Test { abstract final void method(); }
C public abstract class Test { abstract void method() { } }

D public class Test { final void method() { } }

final和abstract是不能同时出现的,排除AB。

abstract方法不能有具体实现,没有花括号


2.下列关于构造方法的叙述中,错误的是()
A java语言规定构造方法名与类名必须相同
B java语言规定构造方法没有返回值,但不同void声明
C java语言规定构造方法不可以重载
D java语言规定构造方法只能通过new自动调用
 

  (1)构造方法的名字必须和类名完全一样(包括大小写);

  (2)构造方法没有返回值,连void也不会出现;

  (3)构造方法可以重载

  (4) this 或 super 都是可以调用 构造方法的, this 调用当前类的构造方法, super 调用父类的构造方法


3.下面哪些赋值语句是正确的()

A long test=012
B float f=-412

C int other =(int)true
D double d=0x12345678
E byte b=128

boolean类型不能强转成数值类型

byte的取值范围-128—127

day7


一. 单选
1. JAVA属于( )。

A 操作系统
B 办公软件
C 数据库系统
D 计算机语言


2.在使用 interface 声明一个接口时,只可以使用()修饰符修饰该接口
A private
B protected
C private protected
D public

只能用public修饰接口


3. Math.round(11.5) 等于()
A 11
B 11.5
C 12
D 12.5

math.round四舍五入


4. 以下对继承的描述错误的是()
A Java中的继承允许一个子类继承多个父类
B 父类更具有通用性,子类更具体
C Java中的继承存在着传递性
D 当实例化子类时会递归调用父类中的构造方法

一个类只能继承一个父类。一个类可以实现多个接口。

传递性:C→B→A

5.在 java 中 , 一个类()
A 可以继承多个类
B 可以实现多个接口
C 在一个程序中只能有一个子类
D 只能实现一个接口

一个类可以派生出多个子类

6.关于以下程序代码的说明正确的
class HasStatic{
private static int x = 100;
public static void main(String args[ ]){
HasStatic hs1 = new HasStatic();
hs1.x++;
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1=new HasStatic();
hs1.x++;
HasStatic.x--;
System.out.println( "x=" +x);
}
}
A 5行不能通过编译,因为引用了私有静态变量
B 10行不能通过编译,因为x是私有静态变量
C 程序通过编译,输出结果为:x=103
D 程序通过编译,输出结果为:x=102
 

java基础之static关键字修饰变量、方法_java static修饰变量_--只因--的博客-CSDN博客

可以将static修饰的静态成员变量看作是公共设施,是可以被多个对象所共享的,不会随着对象的不同而不同的。


7.以下 _____ 不是 Object 类的方法

A clone()
B finalize()
C toString()
D hasNext()

A、B、C都是Object类的方法。hasNext()是Iterator接口的一个方法

java 语言使用的字符码集是
A ASCII
B BCD
C DCB
D Unicode
 

ASCII:特殊字符,0-9大小字母

BCD :数字

Unicode:java语言使用的字符码集

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值