草庐IT

public_private

全部标签

java - 通过java中的内联创建对象访问私有(private)元素

我是java的新手,正在尝试一些访问方法,但遇到了一些我不明白的事情。下面的代码工作正常,打印9并且没有给出任何编译错误。我认为这段代码应该给出一个编译错误并且数字应该无法从测试方法访问,因为newHuman()是一个完全不同的类的实例。任何人都可以向我解释这里发生了什么吗?publicclassTest{publicstaticvoidmain(String[]args){intnumber=9;test("holla",newHuman(){@Overridevoidtest(){//TODOAuto-generatedmethodstubSystem.out.println(nu

Java 编译器错误 : "public type .. must be defined in its own file"?

我正在尝试编译这个:publicclassDNSLookUp{publicstaticvoidmain(String[]args){InetAddresshostAddress;try{hostAddress=InetAddress.getByName(args[0]);System.out.println(hostAddress.getHostAddress());}catch(UnknownHostExceptionuhe){System.err.println("Unknownhost:"+args[0]);}}}我使用了javacdns.java,但出现了一堆错误:dns.ja

c# - 在 C# 或 Java 中子类化时是否可以覆盖私有(private)成员?

我正在学习C#和Java,并且有一个关于继承的问题。是否可以覆盖父类(superclass)(基类)中的私有(private)成员?在我看来,这是不正确的,因为访问修饰符会阻止成员被访问。 最佳答案 这不是一个愚蠢的问题,但它给出了隐藏变量的另一个概念。Java中的字段只是隐藏的,实际上并没有被覆盖(这并不意味着我们在尝试此操作时会遇到编译时错误,而是它们并没有真正意义上的被覆盖)。覆盖意味着应该根据对象的运行时类型而不是声明的类型来调用成员。但是Java中字段的绑定(bind)始终是静态的,因此它仅基于对象引用的声明类型。在文章中

java - java为什么不能在一个文件中定义两个public类?

这个问题在这里已经有了答案:Whyiseachpublicclassinaseparatefile?(11个答案)关闭9年前。为什么B类不能公开?我怎样才能在其他类(class)使用类(class)?是不是定义在Cons里面比较好?!//publicclassB{whynot?classB{intx;B(intn){x=n;System.out.println("constructor'B(intn)'called!");}}publicclassCons{publicstaticvoidmain(String[]args){Bb=newB();}}

java - 如何测试只修改私有(private)类成员变量的void方法?

我正在尝试对初始化一些私有(private)字段的类中的方法进行单元测试:publicvoidinit(Propertiesprops)throwsException{this.language=props.getProperty(Constants.LANGUAGE,Constants.LANGUAGE_DEFAULT);this.country=props.getProperty(Constants.COUNTRY,Constants.COUNTRY_DEFAULT);try{this.credits=Integer.valueOf(props.getProperty(Consta

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 - 我们可以重写 Java 中的构造函数吗?构造函数可以是私有(private)的吗?

我将不胜感激对这些问题的解释:我们能否在Java中覆盖构造函数?Constructor可以是私有(private)的吗? 最佳答案 不,您不能覆盖构造函数。它们不是遗传的。但是,每个子类构造函数都必须将或者链接到子类中的另一个构造函数或到父类(superclass)中的构造函数。例如:publicclassSuperclass{publicSuperclass(intx){}publicSuperclass(Stringy){}}publicclassSubclassextendsSuperclass{publicSubclass(

java - 通过 Dijkstra 算法中私有(private)方法的 JUnit 测试用例

我正在尝试找出为类练习实现测试用例的最佳方法。我的类练习提供了已知的错误,因此我应该编写一个测试用例使其失败,从而找到错误。它涉及使用Dijkstra算法。这是所提供代码的正确版本:privateintgetNodeWithMinimumDistanceFromUnsettled(){intmin;intnode=0;Iteratoriterator=unsettled.iterator();node=iterator.next();min=distances[node];for(inti=1;i单独版本已知bug如下:if(unsettled.contains(i)){if(dist