找到 2637 篇文章 关于 Java

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

raja
更新于 2019年7月30日 22:30:26

866 次浏览

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

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

raja
更新于 2019年7月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年7月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年7月30日 22:30:26

7K+ 次浏览

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

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

raja
更新于 2020年6月29日 11:12:53

730 次浏览

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

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

raja
更新于 2020年2月24日 10:21:25

251 次浏览

java.lang.ArrayStoreException 是一个未检查的异常,当我们尝试将一种类型的对象存储在不同类型的对象数组中时,可能会发生这种情况。通常,人们会遇到 java.lang.ArrayStoreException: java.lang.Integer,当尝试将整数存储在不同类型的数组中(例如字符串数组或浮点数数组等)时会发生这种情况。示例 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年2月6日 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 当字符串 s 为 null 或 s 的长度为零时。如果字符串 s…… 阅读更多

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

raja
更新于 2019年7月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 在…… 阅读更多

Java 中 protected 和 default 访问说明符的区别是什么?

raja
更新于 2019年7月30日 22:30:26

10K+ 次浏览

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

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

raja
更新于 2020年2月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("最大 JVM 内存:"+ Runtime.getRuntime().maxMemory()); ... 阅读更多

广告