有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (6) 个答案

  1. # 1 楼答案

    用于封装

    将公共API和实现细节分开是一种良好的做法。使用方法(而不是直接访问内部变量)封装了实现,允许随时对其进行更改,而不会影响已编写的任何代码

  2. # 2 楼答案

    因为访问变量将允许您修改它,并中断字符串

    JIT编译器非常聪明,可以为您内联getter,因此您实际上只是在访问变量

    哦,还有阵列。长度不是一个“真实”的对象变量,但更像是一种语言功能,允许您访问数组的长度。因此它是不可写的。另一方面,字符串是“普通”对象,编译器不会对其进行特殊处理(尽管它们是在源代码中使用字符串文本时动态构造的)

  3. # 3 楼答案

    这是因为String是一个对象。对象通常有方法而不是属性

    如果属性是public,您也可以修改它,这可能会破坏它

  4. # 4 楼答案

    这并不是因为它是不变的。即使它是可变的,它们也可以返回一个final length。真正的答案可能是疏忽

  5. # 5 楼答案

    String实现接口CharSequence,接口反过来定义length方法。您不能对变量执行同样的操作,因为变量不能是抽象的或重写的
    正如其他人所说,Java大量使用接口

  6. # 6 楼答案

    在我看来,这只是java约定,所有成员都应该是私有的,并且只能通过getter和setter访问。问题是,若你们将长度公诸于众,你们可以修改它并使其无效(不确定你们为什么要这样做,但谁知道呢)

    C#通过允许您为get和set创建具有不同可访问性的属性来改变这一点,这就是为什么允许这样做(至少在C#中是这样)