当前位置: 首页 > 面试经验 >

Java软件开发笔试题1

优质
小牛编辑
75浏览
2024-03-02

Java软件开发笔试题1

"abcde" 执行 substring(3,4) 返回什么

"d"

Q 抽象类可以实现接口吗

可以

interface MyInterface {  
    void interfaceMethod();  
}  
  
abstract class MyAbstractClass implements MyInterface {  
    // 实现接口中的方法  
    @Override  
    public void interfaceMethod() {  
        System.out.println("Interface method implemented in abstract class");  
    }  
  
    // 抽象方法  
    public abstract void abstractMethod();  
}  
  
class MyClass extends MyAbstractClass {  
    // 实现抽象方法  
    @Override  
    public void abstractMethod() {  
        System.out.println("Abstract method implemented in MyClass");  
    }  
  
    public static void main(String[] args) {  
        MyClass myObject = new MyClass();  
        myObject.interfaceMethod();  // 调用接口方法  
        myObject.abstractMethod();  // 调用抽象方法  
    }  
}

哪种类型的文件可以在java虚拟机运行

.class

default String s 合法吗

在Java中,"default"是一个关键字,不能用作变量名或标识符。因此,"default String s"不是合法的语法。

被default修饰的方法有什么特点

1.可以在接口中提供默认实现。这意味着实现该接口的类可以选择性地覆盖该方法,而不是强制实现所有方法。

2.接口中的默认方法可以在不破坏现有实现的情况下添加新方法。

3.默认方法是公共的,因此它们可以被接口之外的类调用。

4.默认方法可以调用接口中的其他默认方法,甚至可以调用抽象方法(在Java 9之前是不允许的)。

static int i 默认初始化为多少

0

将java打包成Test.jar的命令是哪个

jar cf Test.jar [要打包的文件或目录]

介绍下位移以及符号

算术位移:对于有符号整数,算术位移在右移时,在左侧用原来的符号位填充。在左移时,右侧用零填充。

逻辑位移(无符号位移):逻辑位移无论是左移还是右移,都在移动的过程中用零填充。

在Java中,>> 是算术右移,>>> 是无符号右移

java类中的方法可以定义在类体外吗

Java类中的方法不能定义在类体外部。所有方法必须在类体内部定义。

java实现接口的类可以是抽象类吗

可以。抽象类是一种不能被实例化的类,它可以包含抽象方法以及非抽象方法。当一个抽象类实现一个接口时,它可以选择性地提供接口中定义的方法的实现,也可以将这些方法声明为抽象方法而留给它的子类来实现。

servlet的生命周期中,int()方法只能被调用一次吗

在Servlet的生命周期中,init() 方法只会被容器调用一次。当Servlet第一次被请求时,容器会调用init()方法来进行初始化操作。在这个方法中,可以进行一些初始化工作,例如读取配置文件、创建资源等。

一旦init()方法被调用,Servlet实例就会被创建并初始化,随后会一直保持在内存中,处理来自客户端的请求,直到容器关闭或卸载该Servlet为止。在Servlet的生命周期中,即使有多个客户端请求,init()方法也只会被调用一次。

需要注意的是,如果在init()方法中抛出异常,则Servlet的实例将被销毁,并且容器不会再次尝试调用init()方法。

ceil() floor() round() 方法返回的都是double类型的数吗

是的。分别返回大于或等于参数的最小double值、小于或等于参数的最大double值、最接近参数的 long 型整数值

final finally finalize有什么区别

final用于声明不可变属性、不可重写的方法和不可继承的类;finally用于确保某些代码块无论是否发生异常都会被执行;而finalize则提供了一种对象在被垃圾收集前的清理机制,但通常不建议使用。

下列说法正确的有:

A.Java类可以同时用abstract和final声明

B.HashMap中,使用get(key)==null可以判断该HashMap是否包含这个key

C.volatile关键字不保证对变量操作的原子性

D.StringBuilder是线程不安全的

正确选项:

B. HashMap中,使用 get(key) == null 可以判断该 HashMap 是否包含这个 key。这是因为 HashMap 的 get 方法会返回键对应的值,如果键不存在,则返回 null。

C. volatile 关键字不保证对变量操作的原子性。volatile 关键字只能确保线程之间对变量的可见性,但不能保证复合操作的原子性,例如递增或递减操作。

错误选项:

A.abstract 关键字用于声明抽象类或抽象方法,它表示类或方法是不完整的,需要子类来实现。而 final 关键字用于表示类、方法或变量是最终的,不能被继承、重写或修改。由于抽象类和最终类之间存在矛盾,Java 不允许同时使用 abstract 和 final 修饰同一个类。

D.StringBuilder 是 Java 中的一个用于处理字符串的可变对象,它的操作都是非线程安全的。为了在多线程环境下安全地使用可变的字符串操作,可以使用其线程安全的替代类 StringBuffer,或者在必要时进行适当的同步PV操作。

 类似资料: