找到 34423 篇文章,关于编程

Java 序列化中 transient 如何与 final 协同工作?

Maruthi Krishna
更新于 2019-10-15 06:56:27

862 次浏览

在 Java 中,序列化是一个概念,我们可以使用它将对象的状体写入字节流,以便我们可以通过网络传输它(使用 JPA 和 RMI 等技术)。瞬态变量 - 瞬态变量的值永远不会被考虑(它们被排除在序列化过程之外)。即,当我们声明一个变量为瞬态时,反序列化后的值将始终为 null、false 或零(默认值)。因此,在序列化类的对象时,如果希望 JVM 忽略某个特定的实例变量,则可以将其声明为瞬态。public transient int limit = ... 阅读更多

Java 中常量和 final 变量的区别?

Maruthi Krishna
更新于 2019-10-15 06:53:36

11K+ 次浏览

Java 中的常量Java 中的常量变量是指其值固定且在程序中仅存在一个副本的变量。一旦声明了常量变量并为其赋值,在整个程序中都无法再次更改其值。与 C 语言不同,Java 不直接支持常量。但是,您仍然可以通过声明一个变量为静态和 final 来创建常量。一旦声明一个变量为静态,它们将在编译时加载到内存中,即只有一个副本可用。一旦声明一个变量为 final,就不能修改其值... 阅读更多

我们可以在 Java 的默认构造函数中初始化静态变量吗?

Maruthi Krishna
更新于 2019-10-15 06:50:25

7K+ 次浏览

类/静态变量属于类,就像实例变量一样,它们在类中声明,在任何方法之外,但使用 static 关键字。它们在编译时可用,您可以在实例化类之前/无需实例化类即可访问它们,在整个类中只有一个静态字段副本可用,即所有对象中的静态字段值都相同。您可以使用 static 关键字定义静态字段。如果在类中声明一个静态变量,如果未初始化它,就像实例变量一样,编译器会使用默认值初始化它们... 阅读更多

如何在 Java 中使数组的元素不可变?

Maruthi Krishna
更新于 2019-10-15 06:44:33

3K+ 次浏览

不可以,无法使数组的元素不可变。但是,java.util.Collections 类的 unmodifiableList() 方法接受 List 接口的对象(实现其类的对象)并返回给定对象的不可修改形式。用户只能对获得的列表进行只读访问。而 ArrayList 类的 asList() 方法接受一个数组并返回一个 List 对象。因此,要将数组转换为不可变 -获取所需的数组。使用 asList() 方法将其转换为列表对象。将获得的列表作为参数传递给 unmodifiableList() 方法。示例实时演示导入 java.util.Arrays; 导入 java.util.Collections; 导入 java.util.List; 公共类 UnmodifiableExample ... 阅读更多

仅使用 final 关键字可以在 Java 中定义常量吗?

Maruthi Krishna
更新于 2019-10-15 06:41:59

346 次浏览

常量变量是指其值固定且在程序中仅存在一个副本的变量。一旦声明了常量变量并为其赋值,在整个程序中都无法再次更改其值。与其他语言不同,java 不直接支持常量。但是,您仍然可以通过声明一个变量为静态和 final 来创建常量。静态 - 一旦声明一个变量为静态,它们将在编译时加载到内存中,即只有一个副本可用。最终 - 一旦声明一个变量为 final,就不能修改其值... 阅读更多

为什么 Java 不允许在构造函数中初始化静态 final 变量?

Maruthi Krishna
更新于 2019-10-15 06:37:04

609 次浏览

如果声明一个变量为静态和 final,则需要在声明时或在静态块中初始化它。如果尝试在构造函数中初始化它,编译器会假设您正在尝试重新分配值,并生成编译时错误 -示例实时演示类数据 {    static final int num;    Data(int i) {       num = i;    } } 公共类 ConstantsExample {    public static void main(String args[]) {       System.out.println("常量的值:"+Data.num);    } }编译时错误ConstantsExample.java:4: 错误:无法为... 阅读更多

为什么应该在所有 Java 构造函数中显式初始化空白 final 变量?

Maruthi Krishna
更新于 2019-10-15 06:35:01

1K+ 次浏览

未初始化的 final 变量称为空白 final 变量。通常,我们在构造函数中初始化实例变量。如果我们遗漏它们,构造函数将使用默认值初始化它们。但是,final 空白变量将不会使用默认值初始化。因此,如果尝试在构造函数中未初始化的情况下使用空白 final 变量,则会生成编译时错误。示例实时演示公共类 Student {    public final String name;    public void display() {       System.out.println("学生的姓名:"+this.name);    }    public static void main(String args[]) { ... 阅读更多

为什么构造函数在 Java 中不能是 final?

Maruthi Krishna
更新于 2019-10-15 06:32:11

3K+ 次浏览

每当将方法设为 final 时,都无法重写它。即,您无法从子类为超类的 final 方法提供实现。即,将方法设为 final 的目的是防止从外部(子类)修改方法。在继承中,每当扩展类时。子类继承超类中的所有成员,除了构造函数。换句话说,构造函数不能在 Java 中继承,因此不能重写构造函数。因此,在构造函数之前编写 final 毫无意义。因此,java 不允许在构造函数之前使用 final 关键字。如果尝试使构造函数成为 final,则会产生编译时错误... 阅读更多

如何在 Java 中通过接口对象访问派生类成员变量?

Maruthi Krishna
更新于 2019-10-15 06:30:06

656 次浏览

当尝试使用子类对象持有超类的引用变量时,使用此对象只能访问超类的成员,如果尝试使用此引用访问派生类的成员,则会得到编译时错误。示例实时演示接口 Sample {    void demoMethod1(); } 公共类 InterfaceExample 实现 Sample {    public void display() {       System.out.println("这是一个子类的方法");    }    public void demoMethod1() {       System.out.println("这是演示方法-1");    }    public static void main(String args[]) ... 阅读更多

如何在 Java 中将 JSONArray 转换为 String 数组?

raja
更新于 2020-07-06 12:42:31

3K+ 次浏览

JSON 是一种广泛使用的数据交换格式。它轻量级且与语言无关。JSONArray 可以从字符串解析文本以生成类似向量的对象,并支持 java.util.List 接口。我们可以在下面的示例中将 JSONArray 转换为字符串数组示例import org.json.*; import java.util.*; public class JsonArraytoStringArrayTest {    public static void main(String[] args) {       JSONArray jsonArray = new JSONArray();       jsonArray.put("INDIA ");       jsonArray.put("AUSTRALIA ");       jsonArray.put("SOUTH AFRICA ");       jsonArray.put("ENGLAND ");       jsonArray.put("NEWZEALAND ");       List list = new ArrayList();       for(int i=0; ... 阅读更多

广告

© . All rights reserved.