找到关于面向对象编程的9301 篇文章

在 Java SE 9 中使用工厂方法创建不可变 Map

Vikyath Ram
更新于 2020年6月21日 14:01:01

浏览量 168 次

Java 9 添加了新的工厂方法到 Map 接口中,用于创建不可变实例。这些工厂方法是方便的工厂方法,可以更简洁地创建集合。旧的创建集合方法示例import java.util.Collections; import java.util.HashMap; import java.util.Map; public class Tester {    public static void main(String []args) {       Map map = new HashMap();       map.put("A", "Apple");       map.put("B", "Boy");       map.put("C", "Cat");       Map readOnlyMap = Collections.unmodifiableMap(map);       System.out.println(readOnlyMap);       try {          readOnlyMap.remove(0); ... 阅读更多

在 Java SE 9 中使用工厂方法创建不可变 List

Vikyath Ram
更新于 2020年6月21日 14:03:37

浏览量 187 次

Java 9 添加了新的工厂方法到 List 接口中,用于创建不可变实例。这些工厂方法是方便的工厂方法,可以更简洁地创建集合。旧的创建集合方法示例import java.util.ArrayList; import java.util.Collections; 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 readOnlylist = Collections.unmodifiableList(list);       System.out.println(readOnlylist);       try {          readOnlylist.remove(0);       ... 阅读更多

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("Animals can move");    } } class Dog extends Animal {    public void move() {       System.out.println("Dogs can walk and ... 阅读更多

在 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 中将 Integer 转换为 String 的不同方法

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

浏览量 260 次

以下是 Java 中将 Integer 转换为 String 的不同方法。使用 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) ... 阅读更多

广告