每日练习,不要放弃

题目

选自牛客网

1.下面叙述错误的是 ( )

A.一个类可以有多个构造方法
B.最终类不能派生子类,最终方法不能被覆盖
C.如果一个类中没有定义构造方法,则Java在生成这个类的实例时不会调用构造方法。
D.数组一旦创建之后,就不能再改变其长度
正确答案:C

正确答案是C。

解释如下:

A.一个类可以有多个构造方法。这是正确的,因为一个类可以根据不同的参数列表拥有多个构造方法,这被称为构造方法的重载。这样,可以根据不同的初始化需求创建对象。

B.最终类不能派生子类,最终方法不能被覆盖。这也是正确的。在Java中,使用final关键字修饰的类不能被继承,即不能有子类。同样,使用final关键字修饰的方法不能被子类覆盖。

C. 如果一个类中没有定义构造方法,则Java在生成这个类的实例时不会调用构造方法。这是错误的。在Java中,如果没有显式定义任何构造方法,编译器会自动提供一个默认的无参构造方法。因此,即使没有定义构造方法,创建类的实例时仍然会调用构造方法,只是这个构造方法是编译器自动提供的默认构造方法。

D.数组一旦创建之后,就不能再改变其长度。这是正确的。在Java中,数组一旦被创建,其大小就是固定的,不能动态调整。如果需要一个可以动态调整大小的数据结构,通常会使用集合类,如ArrayList


2.java如何返回request范围内存在的对象?

A.request.getRequestURL()
B.request.getAttribute()
C.request.getParameter()
D.request.getWriter()

正确答案:B 在Java ServletAPI中,HttpServletRequest对象包含了请求信息,其中getAttribute()方法用于检索放在请求对象范围内的属性。这些属性可以通过setAttribute()方法在同一个请求的不同部分中共享。如果您想要返回请求范围内存在的对象,应该使用request.getAttribute()方法。因此,正确答案是Brequest.getAttribute()


3.以下代码将打印出

public static void main (String[] args) {
String classFile = “com.jd.”. replaceAll(“.”, “/”) + “MyClass.class”;
System.out.println(classFile); }

A.com. jd
B.com/jd/MyClass.class
C.///MyClass.class
D.com.jd.MyClass

正确答案是C。
在这段代码中,replaceAll方法的第一个参数是一个正则表达式,而.在正则表达式中表示匹配任意字符。因此,replaceAll(“.”,“/”)会将字符串中的所有字符(包括.)都替换为/。所以,原始字符串"com.jd.“会被替换为”//“,然后再加上"MyClass.class”,最终结果是"MyClass.class"。


4.下列类定义中哪些是合法的抽象类的定义?()

A.abstract Animal{abstract void growl();}
B.class abstract Animal{abstract void growl();}
C.abstract class Animal{abstract void growl();}
D.abstract class Animal{abstract void growl(){System.out.println( “growl”);};}
正确答案:C

正确答案是 C。
C. abstract class Animal{abstract void growl();}
是正确的抽象类定义。在这个选项中,abstract class 关键字用于声明一个抽象类 Animal,并且 abstract void growl(); 声明了一个抽象方法 growl()。抽象类可以包含抽象方法,这些方法没有实现体,只有方法签名。

其他选项的错误原因如下:

A. abstract Animal{abstract void growl();} 错误,因为在 Java 中,抽象类的声明必须使用
abstract class 关键字,而不是单独的 abstract

B. class abstract Animal{abstract void growl();} 错误,因为 abstract
关键字不能放在类名后面。正确的做法是在 class 前面加上 abstract

D. abstract class Animal{abstract void growl(){System.out.println( “growl”);};} 错误,因为抽象方法不能有方法体。在这个选项中,growl() 方法有一个方法体
System.out.println( “growl”);,这是不允许的。抽象方法只能有方法签名,不能有实现。

所以,只有选项 C 是正确的抽象类定义。

5.以下代码段执行后的输出结果为

public class Test {
public static void main(String args[]) {
int x = -5;
int y = -12;
System.out.println(y % x);
}
}

A.-1
B.2
C.1
D.-2
正确答案:D


6.以下代码运行输出的是

public class Person{
private String name = “Person”;
int age=0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child();
System.out.println(p.name);
}
}

A.输出:Person
B.没有输出
C.编译出错
D.运行出错
正确答案:C

官方解析:
父类private的成员变量,根据权限修饰符的访问控制范围,只有在类内部才能被访问,就算是他的子类,也不能访问。这里如果将Person p= new Child();改成Person p = new Person();代码依然无法通过编译,因为子类作用域中访问不到父类的私有变量,无法为其生成正确的字节码。另外,一个Java文件中不能有两个public类。

7.在Java中,对于不再使用的内存资源,如调用完成的方法,“垃圾回收器”会自动将其释放。( )

A.正确
B.错误
正确答案:B


总结

在这里插入图片描述

祈望此片星空呈现盛世之祥和景象,引领我们携手共进。

相关推荐

  1. 寒假每日练习——搜索

    2024-07-17 20:30:03       46 阅读
  2. shell脚本每日练习

    2024-07-17 20:30:03       37 阅读
  3. 力扣每日练习3.12

    2024-07-17 20:30:03       35 阅读
  4. 力扣每日练习3.14

    2024-07-17 20:30:03       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 20:30:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 20:30:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 20:30:03       58 阅读
  4. Python语言-面向对象

    2024-07-17 20:30:03       69 阅读

热门阅读

  1. MySQL 事务

    2024-07-17 20:30:03       22 阅读
  2. 力扣刷题之2956.找到两个数组中的公共元素

    2024-07-17 20:30:03       21 阅读
  3. 前端面试题日常练-day94 【Less】

    2024-07-17 20:30:03       23 阅读
  4. Linux第一章课后作业

    2024-07-17 20:30:03       25 阅读
  5. 免费服务器和付费服务器哪个更好?

    2024-07-17 20:30:03       23 阅读
  6. 云服务器,nginx访问失败,安全组,0.0.0.0/0

    2024-07-17 20:30:03       22 阅读
  7. 网络安全工作者如何解决网络拥堵

    2024-07-17 20:30:03       21 阅读
  8. docker network(docker网络)介绍

    2024-07-17 20:30:03       23 阅读