每日练习,不要放弃

目录

题目

选自牛客网

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


总结

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

相关推荐
LG.YDX11 分钟前
java:练习
java
美若黎明@13 分钟前
C# 路径操作
开发语言·c#
给自己做减法24 分钟前
排序算法快速记忆
java·算法·排序算法
难以触及的高度39 分钟前
source ~/.bash_profile有什么用
开发语言·bash
计算机学姐1 小时前
基于微信小程序的食堂点餐预约管理系统
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
骆晨学长1 小时前
基于springboot学生健康管理系统的设计与实现
java·开发语言·spring boot·后端·spring
骆晨学长1 小时前
基于Springboot的医疗健康助手开题报告
java·spring boot·后端
二十雨辰1 小时前
[苍穹外卖]-09Spring Task定时任务
java·数据库·spring
我是小酒1 小时前
掌握 Spring:从新手到高手的常见问题汇总
java·后端·spring·springboot
白总Server1 小时前
php语言基本语法
开发语言·ide·后端·golang·rust·github·php