找到 34423 篇文章 关于编程

JVM 是否会创建 Java 中 Main 类的对象?

Ankith Reddy
更新于 2020年6月26日 07:40:55

423 次查看

众所周知,Java 需要在公共类中将 main() 方法声明为静态方法才能使其可执行。此要求的主要原因是使 JVM 能够在不创建对象的情况下调用 main() 方法。这意味着 JVM 不会创建包含 main() 方法的 Main 类的对象。为了证明这一点,我们可以将包含 main 方法的 Main 类声明为抽象类,程序仍然可以运行。以下示例演示了这一点。在这里,我们将主类设为抽象类。示例abstract public class Tester {    public static void main(String args[]) ... 阅读更多

Java 编程中 x++ 和 x = x + 1 的区别

Arjun Thakur
更新于 2020年6月26日 07:41:18

590 次查看

x++ 自动处理类型转换,而 x = x + 1 在 x 不是 int 变量的情况下需要类型转换。请参见下面的示例。示例 在线演示public class Tester {    public static void main(String args[]) {       byte b = 2;       //需要类型转换       //因为 1 是 int 类型,而 b 是 byte 类型       b = (byte) (b + 1);       System.out.println(b);       byte b1 = 2;       //编译器隐式类型转换       b1++;       System.out.println(b1);    } }输出3 3

Java 编程中 TreeMap、HashMap 和 LinkedHashMap 的区别

George John
更新于 2020年6月26日 07:25:35

555 次查看

HashMap、TreeMap 和 LinkedHashMap 都实现了 java.util.Map 接口,以下是它们的特性。HashMapHashMap 的插入和查找复杂度为 O(1)。HashMap 允许一个空键和多个空值。HashMap 不维护任何顺序。TreeMapTreeMap 的插入和查找复杂度为 O(logN)。TreeMap 不允许空键,但允许多个空值。TreeMap 维护顺序。它按升序存储键。LinkedHashMapLinkedHashMap 的插入和查找复杂度为 O(1)。LinkedHashMap 允许一个空键和多个空值。LinkedHashMap 维护键值对插入的顺序。示例 在线演示import java.util.HashMap; import java.util.Hashtable; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; public class Tester { ... 阅读更多

如何在 Java 中创建自己的辅助类?

Arjun Thakur
更新于 2020年6月26日 07:26:54

4K+ 次查看

辅助类具有以下用途。提供项目中多个类所需的通用方法。辅助方法通常是公共的和静态的,因此可以独立调用。辅助类的每个方法都应独立于同一类的其他方法工作。以下示例展示了一个这样的辅助类。示例public class Tester {    public static void main(String[] args) {       int a = 37;       int b = 39;       System.out.println(a + " is prime: " + Helper.isPrime(a));       System.out.println(b + " is prime: " + Helper.isPrime(b));    } } ... 阅读更多

如何在 Java 中创建不可变类?

George John
更新于 2020年6月26日 07:27:35

265 次查看

不可变类的对象的属性在初始化后无法修改。例如,String 是 Java 中的一个不可变类。我们可以通过遵循以下规则来创建一个不可变类。将类设为 final - 类应为 final,这样就不能扩展它。将每个字段设为 final - 每个字段都应为 final,这样在初始化后就不能修改它们。为每个字段创建 getter 方法 - 为每个字段创建一个公共 getter 方法。字段应为私有的。没有每个字段的 setter 方法 - 不要为任何字段创建公共 setter 方法。创建一个参数化构造函数 ... 阅读更多

统计 Java 字符串对中匹配字符的数量

Chandu yadav
更新于 2020年6月26日 07:28:27

2K+ 次查看

为了找到两个 Java 字符串中匹配字符的数量,方法是首先创建两个字符串的字符数组,这使得比较变得简单。然后将每个唯一字符放入哈希映射中。将另一个字符串的每个字符与创建的哈希映射进行比较,查看它是否存在;如果存在,则将其放入另一个哈希映射中,以防止重复。最后,获取这个新创建的目标哈希映射的大小,它等于两个给定字符串中匹配字符的数量。示例 在线演示import java.util.HashMap; public class ... 阅读更多

Java 编程中的 CopyOnWriteArrayList 类

Ankith Reddy
更新于 2020年6月26日 07:29:45

193 次查看

类声明public class CopyOnWriteArrayList extends Object implements List, RandomAccess, Cloneable, SerializableCopyOnWriteArrayList 是 ArrayList 的线程安全变体,其中可以更改 ArrayList 的操作(添加、更新、设置方法)会创建底层数组的克隆。CopyOnWriteArrayList 用于线程环境中,其中读取操作非常频繁,而更新操作很少见。CopyOnWriteArrayList 的迭代器永远不会抛出 ConcurrentModificationException。对 CopyOnWriteArrayList 的任何修改都不会在迭代期间反映出来,因为迭代器已经创建。在迭代期间不支持 List 修改方法,如 remove、set 和 add。这些方法将抛出 UnsupportedOperationException。可以向列表中添加 null。CopyOnWriteArrayList 方法以下是 ... 阅读更多

在 Java 编程中按字典序比较两个字符串

George John
更新于 2020年6月26日 07:30:58

315 次查看

我们可以使用以下方法在 Java 中按字典序比较两个字符串。使用 String.compareTo(String) 方法。它以区分大小写的方式进行比较。使用 String.compareToIgnoreCase(String) 方法。它以不区分大小写的方式进行比较。使用 String.compareTo(Object) 方法。它以区分大小写的方式进行比较。这些方法返回比较字符串的第一个奇数字符的 ASCII 差值。示例 在线演示public class Tester {    public static void main(String args[]) {       String str = "Hello World";       String anotherString = "hello world";       Object objStr = str;       System.out.println( str.compareTo(anotherString) );       System.out.println( str.compareToIgnoreCase(anotherString) );       System.out.println( str.compareTo(objStr.toString()));    } }输出-32 0 0

在 Java 中重写不同包中的方法

Chandu yadav
更新于 2020年6月26日 07:32:47

1K+ 次查看

测试重写的优点是可以定义特定于子类类型的行为,这意味着子类可以根据其需求实现父类方法。在面向对象方面,重写意味着重写现有方法的功能。示例 在线演示class Animal {    public void move() {       System.out.println("Animals can move");    } } class Dog extends Animal {    public void move() {       System.out.println("Dogs can walk and run");    } } public class TestDog {    public static void main(String args[]) {       Animal a = new Animal(); // ... 阅读更多

Java 编程中的重载

Arjun Thakur
更新于 2020年6月26日 07:35:00

258 次查看

方法重载是静态多态的一种。在方法重载中,我们可以定义多个具有相同名称但参数不同的方法。请考虑以下示例程序。示例 在线演示
public class Tester {
   public static void main(String args[]) {
      Tester tester = new Tester();
      System.out.println(tester.add(1, 2));
      System.out.println(tester.add(1, 2, 3));
   }
   public int add(int a, int b) {
      return a + b;
   }
   public int add(int a, int b, int c) {
      return a + b + c;
   } }
输出
3 ... 阅读更多

广告
© . All rights reserved.