找到 2637 篇文章 适用于 Java

Java 中定义了哪些不同类型的嵌套类?

raja
更新于 2019-07-30 22:30:26

866 次浏览

在 Java 中,可以在一个类中定义另一个类,这样的类称为嵌套类。我们可以使用 private、public、protected 或默认的访问修饰符来修饰内部类,并且可以使用默认或 public 访问修饰符来修饰外部类。Java 中定义了两种类型的嵌套类。静态嵌套类非静态嵌套类静态嵌套类我们可以将内部类定义为静态,因此此类型的类称为静态嵌套类。嵌套类使用 static 关键字定义,因此此类型的嵌套类与外部类的实例之间没有任何关系。一个静态的... 阅读更多

Java 中 length 和 length() 的区别是什么?

raja
更新于 2019-07-30 22:30:26

4K+ 次浏览

length 是 Java 中数组的实例变量,而 length() 是 String 类的 方法。length数组是一个对象,它保存相同类型的一定数量的值。数组中的 length 变量返回数组的长度,即存储在数组中的元素数量。一旦数组初始化,其长度就无法更改,因此可以直接使用 length 变量获取数组的长度。length 变量仅用于数组。示例实时演示public class ArrayLengthTest {    public static void main(String args[]) {       int ... 阅读更多

我们可以在 Java 中将一个 try catch 块声明在另一个 try catch 块中吗?

raja
更新于 2019-07-30 22:30:26

9K+ 次浏览

是的,我们可以在另一个 try-catch 块中声明一个 try-catch 块,这称为嵌套 try-catch 块。嵌套 Try-Catch 块如果内部 try 语句没有为特定异常提供匹配的 catch 语句,则控制权将传递到下一个 try 语句的 catch 处理程序,这些处理程序预期为匹配的 catch 语句。这种情况会一直持续,直到其中一个 catch 语句成功,或者所有嵌套的 try 语句都完成。如果没有一个 catch 语句匹配,那么 Java 运行时系统将处理该异常。当使用嵌套 try 块时,内部 try 块首先执行。在... 阅读更多

我们可以在 Java 中将顶级类声明为 protected 或 private 吗?

raja
更新于 2019-07-30 22:30:26

7K+ 次浏览

不可以,我们不能将顶级类声明为 private 或 protected。它可以是 public 或默认(没有修饰符)。如果它没有修饰符,则它应该具有默认访问权限。语法// 顶级类    public class TopLevelClassTest {       // 类体 }如果顶级类被声明为 private,编译器将报错,提示此处不允许使用修饰符 private。这意味着顶级类不能是 private,同样适用于 protected 访问修饰符。Protected 表示该成员可以被同一包中的任何类访问。Protected 字段或方法不能用于类和接口。在超类中声明为 protected 的字段、方法和构造函数只能被其他包中的子类访问。同一包中的类也可以访问 protected 字段、方法和构造函数,如... 阅读更多

方法局部内部类可以访问 Java 中的局部 final 变量吗?

raja
更新于 2020-06-29 11:12:53

730 次浏览

是的,我们可以使用方法局部内部类访问局部 final 变量,因为 final 变量存储在堆上,并且只要方法局部内部类对象可能存在,它就一直存在。方法局部内部类方法局部内部类实例可以作为参数传递并从方法中检索,并且在有效的范围内可用。方法局部内部类的唯一限制是,只有在局部参数被定义为 final 时才能执行它。在局部内部类中定义了局部参数的方法可以在方法执行后调用,在... 阅读更多

如何在 Java 中处理 ArrayStoreException(未经检查)?

raja
更新于 2020-02-24 10:21:25

251 次浏览

java.lang.ArrayStoreException 是一个未经检查的异常,当我们尝试将一个类型的对象存储在不同类型的对象数组中时,可能会发生此异常。通常,会遇到 java.lang.ArrayStoreException: java.lang.Integer,当尝试将整数存储在不同类型的数组中(例如 String 数组或 float 数组等)时会发生此异常。示例 1 实时演示public class ArrayStoreExceptionTest {    public static void main(String[] args) {       Object[] names = new Float[2];       names[1] = new Integer(2);    } }输出Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer         at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:4)在... 阅读更多

如何在 Java 中处理 NumberFormatException(未经检查)?

raja
更新于 2020-02-06 12:47:43

2K+ 次浏览

NumberFormatException 是一个未经检查的异常,当 parseXXX() 方法无法格式化(转换)字符串为数字时抛出。NumberFormatException 可以由 java.lang 包中的许多方法/构造函数抛出。以下是一些示例。public static int parseInt(String s) throws NumberFormatExceptionpublic static Byte valueOf(String s) throws NumberFormatExceptionpublic static byte parseByte(String s) throws NumberFormatExceptionpublic static byte parseByte(String s, int radix) throws NumberFormatExceptionpublic Integer(String s) throws NumberFormatExceptionpublic Byte(String s) throws NumberFormatException为每种方法定义了可能抛出 NumberFormatException 的情况。例如,public static int parseInt(String s) throws NumberFormatException 当String s 为 null 或 s 的长度为零时。如果字符串 s... 阅读更多

如何在 Java 中处理 ArithmeticException(未经检查)?

raja
更新于 2019-07-30 22:30:26

6K+ 次浏览

java.lang.ArithmeticException 是 Java 中的一个未经检查的异常。通常,会遇到 java.lang.ArithmeticException: / by zero,当尝试对两个数字进行除法运算且分母为零时会发生此异常。ArithmeticException 对象可能由 JVM 构造。示例 1 实时演示public class ArithmeticExceptionTest {    public static void main(String[] args) {       int a = 0, b = 10;       int c = b/a;       System.out.println("Value of c is : "+ c);    } }在上面的示例中,由于分母值为零,因此发生了 ArithmeticExeption 异常。java.lang.ArithmeticException: 在... 阅读更多

Java 中 protected 和 default 访问修饰符的区别是什么?

raja
更新于 2019-07-30 22:30:26

10K+ 次浏览

Protected 访问修饰符在同一包内可见,在子类中也可见,而 Default 是包级访问修饰符,它在同一包内可见。Protected 访问修饰符在同一包内充当 public,在包外充当 private。Protected 在包外也充当 public,但仅针对子类对象。Protected 字段或方法不能用于类和接口。在超类中声明为 protected 的字段、方法和构造函数只能被其他包中的子类访问。同一包中的类也可以访问 protected 字段、方法和构造函数,如... 阅读更多

什么是 OutOfMemoryError 以及查找 Java 中 OOM 根源的步骤?

raja
更新于 2020-02-24 11:27:10

2K+ 次浏览

当 JVM 没有足够的可用内存进行分配时,JVM 会抛出 OutOfMemoryError。OutOfMemoryError 属于 Exception 类层次结构中的 Error 类别。生成 OutOfMemoryError我们将分配一大块内存,这将耗尽堆内存存储。我们将继续分配内存,并且指针将到达 JVM 没有足够的内存进行分配的位置,然后将抛出 OutOfMemoryError。一旦我们捕获了 OutOfMemory 错误,我们就可以记录该错误。示例实时演示public class OutOfMemoryErrorDemo {    public static void main(String[] args) throws Exception {       int dummyArraySize = 15;       System.out.println("Max JVM memory: " + Runtime.getRuntime().maxMemory()); ... 阅读更多

广告