草庐IT

publications

全部标签

Java OOP 公共(public)、私有(private)、 protected

我了解public、private和protected的作用。我知道您应该使用它们来遵守面向对象编程的概念,并且我知道如何在使用多个类的程序中实现它们。我的问题是:我们为什么要这样做?为什么我不应该让一个类直接修改另一个类的全局变量?即使您不应该,为什么还需要protected、private和public修饰符?就好像程序员不相信自己不会这样做,即使他们是编写程序的人。提前致谢。 最佳答案 你是对的,这是因为我们不能相信自己。可变状态是计算机程序复杂性的一个主要因素,构建一开始看起来不错的东西太容易了,但随着系统变大,它会失去控制

java - 等同于 Scala 中的公共(public)静态最终字段

我正在学习Scala,但我不知道如何在Scala中最好地表达这个简单的Java类:publicclassColor{publicstaticfinalColorBLACK=newColor(0,0,0);publicstaticfinalColorWHITE=newColor(255,255,255);publicstaticfinalColorGREEN=newColor(0,0,255);privatefinalintred;privatefinalintblue;privatefinalintgreen;publicColor(intred,intblue,intgreen){t

java - Spring BeanFactory 是如何实例化一个非公共(public)类的?

这里是Spring新手。我观察到Spring能够实例化我定义的非公共(public)类(即具有默认可见性的类)。谁能告诉我Spring是如何做到这一点的?为什么允许这样做? 最佳答案 好的,这是他们的做法。以这个示例类为例:packagehidden;classYouCantInstantiateMe{privateYouCantInstantiateMe(){System.out.println("Damn,youdidit!!!");}}上面是一个包私有(private)的类,在不同的包中有一个私有(private)构造函数,但

java - 可以处理公共(public)字段的 BeanPropertySqlParameterSource 的模拟

我有一个简单的模型,我想使用SpringJDBCTemplate将其实例保存在MySQL中。我使用DAO使用简单的sql保存模型对象(insertintouser(id,email...)value(:id,:email...))。是否有任何框架可以从模型中提取参数(当模型只是具有公共(public)字段的POJO时)。因此,我需要类似于Spring的BeanPropertySqlParameterSource的东西,但能够使用公共(public)字段而不是属性。模型类示例:publicclassUser{publicintid;publicStringemail;publicStri

java - 用于匹配注释字段上的公共(public)方法调用的 Aspectj 切入点

我想编写一个切入点来匹配在带注释的字段上执行公共(public)方法。这似乎永远行不通。get(@Important)按您的预期工作(独立),但它当然会匹配对该字段的所有访问。我想将其限制为仅执行公共(public)方法。这可能吗?我没有收到编译错误,但另一方面它似乎不起作用..publicclassCounter{privateintcount=0;publicvoidadd(intvalue){count=count+value;}}publicclassVisitors{@ImportantCountercounter=newCounter()publicvoidincrease

Java 关于 <E> in public static <E> void

使用Java:我不想浪费人们的时间在这里发布这个,但我的谷歌搜索技能让我失望了,我找不到答案。我正在查看一些提供的代码,他们使用了publicstaticvoidprintTree(TwoFourTreetf)(作为引用,我们正在从红黑树转换为二四树)。当我第一次处理这个问题时,我会使用而不是甚至不包含在publicstaticvoid的初始方法声明中。.但是我遇到了问题,并投入了这个尽管使用解决了我所有的问题而不是其他地方。所以我的问题是,有人可以向我解释一下到底是什么吗?在publicstaticvoid 最佳答案 这是一个称为

java - ews java api - 如何设置电子邮件的权限/分类(公共(public)/受限/内部)

我正在自定义文件夹中起草电子邮件。EmailMessagemsg=newEmailMessage(service);msg.setSubject("Helloworld!");msg.setBody(MessageBody.getMessageBodyFromText("DraftemailusingtheEWSJavaAPI."));msg.getToRecipients().add("someone@contoso.com");//TriedtosetextendedpropertybutnotworkedExtendedPropertyDefinitionheaderProper

java - Play Framework 2.0 中公共(public)字段的使用

在PlayFramework1.x中,惯例是在Java类上使用公共(public)字段。这样做的理由是因为PlayPropertiesEnhancer的工作方式如下所述:http://www.playframework.org/documentation/1.2.4/model简而言之,公共(public)字段是“好的”,因为Play会在运行时自动生成setter和getter。这对我来说很有意义,还有其他问题可以解决这个问题。PlayFramework2.0的工作方式截然不同。没有“属性模拟”功能。也许他们正在考虑稍后添加这个,但我找不到任何建议。没有属性模拟,使用所有公共(publ

java - 为什么不让 StringBuilder 和 StringBuffer 实现一个公共(public)接口(interface)呢?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。StringBuilder之间的差异和StringBuffer在Java中有据可查,并且已被toucheduponinStackOverflow基本上,StringBuilder是StringBuffer的非同步副本,具有几乎相同的接口(interface),因为它旨在作为的快速替代品字符串缓冲区。它们的API实际上是相同的,它们实际上是当前JDK中相同

java - Apache 公共(public) CLI : how to prevent using short-name for options?

在ApacheCommonsCLI库中,是否可以绕过短名称的使用,从而强制用户使用长名称?通常,选项定义如下:newOption("u","username",true,"automaticusername")我想禁止使用“u”。但是,如果我用null或空字符串替换它,就会出现异常...为什么有这个要求?我希望我的所有选项都只采用--optionName=optionValue的形式,因为我的应用程序的某些部分是SpringBoot并且SpringBoot默认识别这种格式的选项。此外,为了在开发人员和用户之间保持一致并简化文档,我发现如果我们有一种独特的方式来使用一个选项而不是2个选项