找到 343篇 文章 关于Java编程

Java中的Externalizable接口

Vikyath Ram
更新于 2020年6月21日 13:49:30

1K+ 次查看

当我们需要自定义序列化机制时,可以使用外部化。如果一个类实现了Externalizable接口,则对象的序列化将使用writeExternal()方法完成。而在接收端,当重建Externalizable对象时,将使用无参数构造函数创建一个实例,然后调用readExternal()方法。如果一个类只实现了Serializable接口,则对象的序列化将使用ObjectoutputStream完成。在接收端,可序列化对象将使用ObjectInputStream重建。下面的例子展示了Externalizable接口的使用方法。示例import java.io.Externalizable; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; public class ... 阅读更多

Java中的动态方法调度或运行时多态性

Rishi Raj
更新于 2020年6月21日 13:12:05

10K+ 次查看

Java中的运行时多态性是通过方法重写实现的,其中子类重写其父类中的方法。重写的方法本质上隐藏在父类中,除非子类在重写方法中使用super关键字,否则不会调用。这种方法调用解析发生在运行时,称为动态方法调度机制。示例让我们来看一个例子。class Animal {    public void move() {       System.out.println("动物可以移动");    } } class Dog extends Animal {    public void move() {       System.out.println("狗可以行走和 ... 阅读更多

在Java中下载网页

Vikyath Ram
更新于 2020年6月21日 13:16:19

2K+ 次查看

我们可以使用其URL在Java中下载网页。以下是需要的步骤。使用url字符串创建URL对象。在Java中下载网页使用url.openStream()方法创建一个BufferReader对象。BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));创建一个BufferWriter对象以写入文件。BufferedWriter writer = new BufferedWriter(new FileWriter("page.html"));使用BufferReader读取每一行,并使用BufferWriter写入。String line; while ((line = reader.readLine()) != null) { writer.write(line); }以下是下载给定URL页面到当前位置的完整程序。import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; public class Tester {    public static void main(String ... 阅读更多

Java中的双括号初始化

Paul Richard
更新于 2020年6月21日 12:59:12

350 次查看

双括号可用于在一个Java表达式中创建和初始化对象。请参见下面的示例-示例import java.util.ArrayList; import java.util.List; public class Tester{    public static void main(String args[]) {       List list = new ArrayList();       list.add("A");       list.add("B");       list.add("C");       list.add("D");       list.add("E");       list.add("F");       System.out.println(list);       List list1 = new ArrayList() {       {          add("A"); add("B");add("C");          add("D");add("E");add("F");       ... 阅读更多

Java中是否需要前向声明?

Paul Richard
更新于 2020年6月21日 12:43:56

571 次查看

前向声明是指在方法或变量实现之前声明它们。为了能够在实现之前使用变量或对象,这种声明在C/C++编程语言中是必要的。如果我们要使用库代码,则需要创建其头文件并使用它。但这在Java中并非如此。Java允许在声明和实现之前使用变量、类。Java允许使用库代码而无需任何头文件。下面的例子展示了这一点。在这里,我们在声明之前使用了类对象。示例public ... 阅读更多

在Java中打印异常消息的不同方法

Fendadis John
更新于 2023年9月14日 14:13:37

34K+ 次查看

以下是Java中处理异常消息的不同方法。使用printStackTrace()方法-它打印异常的名称、描述和完整的堆栈跟踪,包括发生异常的行。catch(Exception e) { e.printStackTrace(); }使用toString()方法-它打印异常的名称和描述。catch(Exception e) { System.out.println(e.toString()); }使用getMessage()方法-最常用。它打印异常的描述。catch(Exception e) { System.out.println(e.getMessage()); }示例import java.io.Serializable; public class Tester implements Serializable, Cloneable {    public static void main(String args[]) {       try {          int a = 0;     ... 阅读更多

Java中将整数转换为字符串的不同方法

Fendadis John
更新于 2020年6月21日 12:40:05

260 次查看

以下是将整数转换为Java字符串的不同方法。使用Integer.toString(int)-使用Integer类的静态toString()方法将int转换为String。String b = Integer.toString(125);使用String.valueOf(int)-使用String类的静态valueOf()方法将int转换为String。String b = String.valueOf(125);使用new Integer(int).toString()-使用Integer对象的toString()方法将int转换为String。String b = new Integer(125).toString();使用DecimalFormat(pattern).format(int)-使用DecimalFormat.format()方法将int转换为String。String b = new DecimalFormat("#").format(125);使用StringBuilder().toString()-使用StringBuilder.toString()方法将int转换为String。String b = new StringBuilder().append(125).toString();使用StringBuffer().toString()-使用StringBuffer.toString()方法将int转换为String ... 阅读更多

Java中super()和this()的区别

Vikyath Ram
更新于 2020年6月21日 12:42:48

6K+ 次查看

以下是Java中super()和this()方法的显著区别。super()this()定义super()-引用直接父类实例。this()-引用当前类实例。调用可用于调用直接父类方法。可用于调用当前类方法。构造函数super()充当直接父类构造函数,并且应该是子类构造函数中的第一行。this()充当当前类构造函数,可用于参数化构造函数。重写当调用重写方法的超类版本时,使用super关键字。当调用重写方法的当前版本时,使用this关键字。示例实时演示类Animal {    String name;    Animal(String name) ... 阅读更多

Java中TreeMap、HashMap和LinkedHashMap的区别

Paul Richard
更新于 2020年6月21日 12:35:10

12K+ 次查看

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中HashTable和HashMap的区别

Rishi Raj
更新于 2020年6月21日 12:35:45

3K+ 次查看

以下是Java中HashTable和HashMap类的显著区别: HashTableHashMap同步HashTable是同步的。HashMap是非同步的。线程安全HashTable是线程安全的。HashMap不是线程安全的。空对象HashTable不允许空键或空值。HashMap允许一个空键和多个空值。性能HashTable更快。HashMap比HashTable慢。自Java 1.21.5版本起示例import java.util.HashMap; import java.util.Hashtable; import java.util.Map; public class Tester {    public static void main(String args[]) {       Map map = new HashMap();       map.put("1", "One");       map.put("2", "Two");       map.put("3", "Three");       map.put("5", "Five");       ... 阅读更多

广告