这是我在一次采访中被问到的一个问题:我有一个带有私有(private)成员的类A,而B类扩展了A。我知道一个类的私有(private)成员无法访问,但问题是:我需要访问一个类的私有(private)成员类A从类B中创建,而不是在类B中创建具有相同值的变量。 最佳答案 面试官要么测试你对访问修饰符的了解,要么测试你改变现有类的方法,或者两者兼而有之。我会列出它们(公共(public)的、私有(private)的、protected、包私有(private)的)以及每个的解释。然后继续说需要修改类A以允许从类B访问这些成员,方法是添加s
这是我在一次采访中被问到的一个问题:我有一个带有私有(private)成员的类A,而B类扩展了A。我知道一个类的私有(private)成员无法访问,但问题是:我需要访问一个类的私有(private)成员类A从类B中创建,而不是在类B中创建具有相同值的变量。 最佳答案 面试官要么测试你对访问修饰符的了解,要么测试你改变现有类的方法,或者两者兼而有之。我会列出它们(公共(public)的、私有(private)的、protected、包私有(private)的)以及每个的解释。然后继续说需要修改类A以允许从类B访问这些成员,方法是添加s
我的实体类如下所示:publicclassStudent{privateintgrade;//otherfieldsandmethods}我就是这样使用它的:Liststudents=...;考虑到它是私有(private)字段,如何按grade对students进行排序? 最佳答案 您有以下选择:使grade可见为grade定义一个getter方法定义一个ComparatorinsideStudent让Student实现Comparable使用反射(在我看来这不是一个解决方案,它是一个解决方法/hack)解决方案示例3:publi
我的实体类如下所示:publicclassStudent{privateintgrade;//otherfieldsandmethods}我就是这样使用它的:Liststudents=...;考虑到它是私有(private)字段,如何按grade对students进行排序? 最佳答案 您有以下选择:使grade可见为grade定义一个getter方法定义一个ComparatorinsideStudent让Student实现Comparable使用反射(在我看来这不是一个解决方案,它是一个解决方法/hack)解决方案示例3:publi
考虑这段代码:classFoo{publicvoiddoIt(String...strs){System.out.println("thisisvarargs");}privatevoiddoIt(Stringstr){System.out.println("thisissingle");}}classBar{publicstaticvoidmain(String[]args){newFoo().doIt("");}}javac1.6.0_29版本编译失败,提示:VarArgsError.java:14:doIt(java.lang.String)hasprivateaccessinF
考虑这段代码:classFoo{publicvoiddoIt(String...strs){System.out.println("thisisvarargs");}privatevoiddoIt(Stringstr){System.out.println("thisissingle");}}classBar{publicstaticvoidmain(String[]args){newFoo().doIt("");}}javac1.6.0_29版本编译失败,提示:VarArgsError.java:14:doIt(java.lang.String)hasprivateaccessinF
警告#1:这实际上是一个潜在的两部分:首先,私有(private)内部类的构造函数是否有形参?如果是,为什么JLS说没有?如果没有,如何/为什么不?注意事项#2:此问题不可用于推测。我只是在寻找权威答案。默认构造函数在JLS8.8.9中定义,其中(部分)声明:Thedefaultconstructorhasnoformalparameters,exceptinanon-privateinnermemberclass,wherethedefaultconstructorimplicitlydeclaresoneformalparameterrepresentingtheimmediate
警告#1:这实际上是一个潜在的两部分:首先,私有(private)内部类的构造函数是否有形参?如果是,为什么JLS说没有?如果没有,如何/为什么不?注意事项#2:此问题不可用于推测。我只是在寻找权威答案。默认构造函数在JLS8.8.9中定义,其中(部分)声明:Thedefaultconstructorhasnoformalparameters,exceptinanon-privateinnermemberclass,wherethedefaultconstructorimplicitlydeclaresoneformalparameterrepresentingtheimmediate
我正在尝试在枚举中创建一个私有(private)静态最终变量,但我不断收到编译错误。有谁知道如何解决这个问题?MultiplemarkersatthislineSyntaxerror,insert"Identifier"tocompleteEnumConstantHeaderNameSyntaxerror,insert"}"tocompleteEnumBodyclassFoo{...publicenumMyEnum{privatestaticfinalStringMY_STRING="astringIuseinaconstructor";privatestaticfinalString
我正在尝试在枚举中创建一个私有(private)静态最终变量,但我不断收到编译错误。有谁知道如何解决这个问题?MultiplemarkersatthislineSyntaxerror,insert"Identifier"tocompleteEnumConstantHeaderNameSyntaxerror,insert"}"tocompleteEnumBodyclassFoo{...publicenumMyEnum{privatestaticfinalStringMY_STRING="astringIuseinaconstructor";privatestaticfinalString