私有云搭建_Java私有,受保护,公共和默认

本文探讨了Java中private、protected和包私有访问修饰符的区别。private限定成员只能在定义类的内部访问,而protected除了允许类内部访问外,还允许子类访问。默认的包私有访问权限则限制访问范围在同一包内的类。作者通过示例代码阐述了这些概念,并指出了解这些基础知识对于Java开发者的重要性。尽管不一定每个开发者都熟知这些细节,但了解它们有助于提升编程技能。
摘要由CSDN通过智能技术生成
私有云搭建

私有云搭建

您是Java程序员,所以您知道我在说什么。 public修饰符使方法或字段可从应用程序中的任何位置访问。 那是简单的部分。 但是,您能告诉我protected和包私有的区别吗? (提示:如果不在方法或字段前面编写任何访问修饰符,则private包是对方法或字段的保护。请注意!我说谎!)我的采访经验是很多人不知道。 对于Java开发人员,我认为这是不可行的吗? 并不是的。 即使您不知道,您仍然可能是一名优秀的Java开发人员。 也许现在您将在某个地方查找它。 也许Java规范是一个很好的入门文档。

我会告诉你一些更有趣的事情。

从字面上看,没有候选人知道什么是private 。 而您,阅读本文,也不知道。

好的,这很挑衅。 您可能是碰巧用这种无用的信息充斥大脑的少数人之一,甚至您可能已经阅读了Java规范。

大多数Java程序员认为私有方法和字段只能从类内部访问。 有些人甚至认为仅来自对象实例内部。 他们相信:

public class PrivateAccessOtherObject {
    public PrivateAccessOtherObject(int i) {
        this.i = i;
    }
    private int i;
    void copyiTo(PrivateAccessOtherObject other){
        other.i = i;
    }
}

不可能。 (它是。)

那么什么是私人的?

最新的JLS指出,只能在包含成员或构造函数声明的顶级类(第7.6节)的正文中访问私有类成员或构造函数。

Java规范中的示例并不是最好的描述规则。 也许那只是一个简单的例子。 像这样的东西可能更好地解释了这个概念:

public class PrivateFieldsContainingClass {
    private static class NestedClass {
        private int i;
    }
    private NestedClass nestedClassInstance = new NestedClass();
    void set(int i) {
        nestedClassInstance.i = i;
    }
    int get() {
        return nestedClassInstance.i;
    }
}

可以从封闭类以及NestedClass内部访问字段i 。 这个例子也很简单,但更使规范例子错过了。 这种可能性有什么实际用途? 并不是的。

奖励问题:为什么我说我在说谎?

翻译自: https://www.javacodegeeks.com/2014/08/java-private-protected-public-and-default.html

私有云搭建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值