gpt4 book ai didi

java - 为什么java在jvm公共(public)中保留长度字段

转载 作者:行者123 更新时间:2023-12-02 08:38:12 25 4
gpt4 key购买 nike

这是一个例子:

int[] a = {10};
int x = a.length;

我们不断地阅读以隐藏变量并使用访问器。为什么这里违反了这条规则?

最佳答案

一个更大的问题是;为什么没有int[]的类文件?如果没有这样的类文件,就没有地方放置这样的方法,因此它纯粹是一种语言功能。它看起来像一个 int[] 字段,但事实并非如此。他们本可以让它看起来像一个方法调用,但他们没有这样做,因为它是一个不可变的字段。

如果你运行这个

public static void main(String[] args) throws NoSuchFieldException {
Field length = args.getClass().getDeclaredField("length");

它抛出一个NoSuchFieldException,因为它不是像中的字段,而是让它看起来像一个字段。

We read incessantly to hide variables and use accessors.

这并不总是必要的,在这种情况下,不会有任何好处,只会提高一致性。

关于java - 为什么java在jvm公共(public)中保留长度字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com