java基础面试题5道开胃菜

1. Java中的final关键字有哪些用途?

答案

  • 修饰变量:被final修饰的变量称为常量,只能赋值一次。

    final int MAX = 100;
    
  • 修饰方法:被final修饰的方法不能被子类重写。

    public final void display() {
        System.out.println("This method cannot be overridden.");
    }
    
  • 修饰类:被final修饰的类不能被继承。

    public final class FinalClass {
        // This class cannot be extended.
    }
    

总结final用于确保变量、方法或类的不可变性,提高代码的安全性和可读性。

2. Java中的static关键字有哪些用途?

答案

  • 修饰变量static变量属于类,而不是类的实例,因此可以通过类名直接访问。

    public class MyClass {
        public static int count = 0;
    }
    System.out.println(MyClass.count); // 访问静态变量
    
  • 修饰方法static方法属于类,而不是类的实例,因此可以通过类名直接调用。

    public class MyClass {
        public static void display() {
            System.out.println("Static method");
        }
    }
    MyClass.display(); // 调用静态方法
    
  • 静态代码块:用于类加载时初始化静态资源。

    public class MyClass {
        static {
            System.out.println("Static block executed.");
        }
    }
    

总结static用于定义类级别的变量和方法,以及在类加载时执行初始化代码。

3. Java中的this关键字有什么用途?

答案

  • 引用当前对象this关键字用于引用当前对象,可以在构造器或方法中使用。

    public class MyClass {
        private int value;
    
        public MyClass(int value) {
            this.value = value; // 使用this引用当前对象的成员变量
        }
    }
    
  • 调用当前类的其他构造器:在构造器中使用this()调用当前类的其他构造器。

    public class MyClass {
        private int value;
    
        public MyClass() {
            this(100); // 调用另一个构造器
        }
    
        public MyClass(int value) {
            this.value = value;
        }
    }
    

总结this用于引用当前对象或调用当前类的其他构造器,帮助区分局部变量和成员变量。

4. Java中的==equals()有什么区别?

答案

  • ==

    • 用于比较两个变量的值是否相等。
    • 对于对象类型,比较的是对象的内存地址(引用)。
    • 示例:
      int a = 10;
      int b = 10;
      System.out.println(a == b); // true
      
      String s1 = new String("hello");
      String s2 = new String("hello");
      System.out.println(s1 == s2); // false
      
  • equals()

    • Object类的方法,用于比较两个对象的内容是否相等。
    • 默认情况下比较对象的内存地址,但可以被子类重写以实现自定义的比较逻辑。
    • 示例:
      String s1 = new String("hello");
      String s2 = new String("hello");
      System.out.println(s1.equals(s2)); // true
      

总结==用于比较引用或基本数据类型的值,而equals()用于比较对象的内容。

5. Java中的异常处理机制是什么?如何使用try-catch-finally块?

答案
Java的异常处理机制用于处理程序运行时可能出现的错误或异常情况。异常处理机制包括:

  • try:包含可能抛出异常的代码。
  • catch:捕获并处理异常。
  • finally:无论是否捕获异常,都会执行的代码块,通常用于资源清理。

示例

public class ExceptionExample {
    public static void main(String[] args) {
        try {
            int result = 10 / 0; // 抛出ArithmeticException
        } catch (ArithmeticException e) {
            System.out.println("Caught an exception: " + e.getMessage());
        } finally {
            System.out.println("Finally block executed.");
        }
    }
}

输出

Caught an exception: / by zero
Finally block executed.

总结try-catch-finally块用于捕获和处理异常,确保程序的健壮性和资源的正确释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值