草庐IT

change_protection

全部标签

java - 即使我已经扩展了类,为什么我不能访问 protected java 方法?

这是protected方法的文档:/**ConvertsjmusicscoredataintoaMIDISequence*/protectedjavax.sound.midi.SequencescoreToSeq(Scorescore)我创建了这个小类来扩展scoreToSeq方法来自的类:publicclassMidiSequenceextendsMidiSynth{publicSequencegetSequence(Scorescore){MidiSynthsynth=newMidiSynth();Sequencesequence=null;try{//HereIgettheerr

java - 为什么你不能在 Java 中有一个 protected 抽象类?

我有一个抽象类,如下所示:abstractclassAbstractFooimplementsBar{//Codegoeshere}但是,当我尝试使AbstractFooprotected时,我收到一个编译时错误,提示它是一个非法修饰符。protectedabstractclassAbstractFooimplementsBar{//Codegoeshere}为什么不能在Java中有一个protected抽象类?编辑:我应该提一下,这不是vanillaJava,实际上是Blackberry/J2ME。 最佳答案 正如许多其他人指出的

java - 帮助理解 protected 方法的问题

我正在阅读SybexCompleteJava2CertificationStudyGuide2005年4月(ISBN0782144195)。本书适用于想通过java认证的java开发者。在关于访问修饰符(以及其他修饰符)的一章之后,我发现了以下问题(#17):Trueorfalse:IfclassYextendsclassX,thetwoclassesareindifferentpackages,andclassXhasaprotectedmethodcalledabby(),thenanyinstanceofYmaycalltheabby()methodofanyotherinsta

java - 如果可能的话,是否有一种工具可以使所有类包都 protected 和最终?

背景:我注意到在许多项目中,几乎所有内部​​代码中的类都是公开的而不是最终的,即使它们不需要。然而,对我来说,不默认做出这个决定似乎是明智的,但只有当它们实际上是为了从系统的其他部分使用时才公开类。拥有包保护类是一种在模块之间强制执行边界的简单机制,并可作为类预期用途的文档。如果有一个(最好是免费的:-)工具来保护所有可以在不破坏程序的情况下被保护的类,并且可能使所有没有子类的东西成为最终的,那将是开始有意识地使用保护机制。(当然你需要事后调整。)你知道这样的工具吗?警告:我知道有更好的模块化机制,如OSGI和计划中的super包等。但在许多当前项目中,这不是一个选项,使用普通的旧Ja

java - 静态方法的 protected 修饰符的目的是什么

我发现了protected的这种用法为我的其他问题寻找解决方案时的修饰符:IgnoringcaseinstringswithunitilsReflectionComparator在org.unitils.reflectionassert.ReflectionComparatorFactory类有一个带有签名的方法:protectedstaticListgetComparatorChain(Setmodes)但这只是特例。毕竟我们总是可以扩展这样的任何非最终类并“覆盖”它是静态的protected新方法public修饰符。说,我们有一个类A:publicclassA{protecteds

java - WebDriverException : unknown error: failed to change window state to maximized, 当前状态对于 MAC OS X 上的 Chrome 70 和 Chromedriver 2.43 是正常的

我们在Mac上,使用Chrome版本70.0.3538.67(官方构建)(64位),ChromeDriver2.43.600229。出现Chrome窗口,但URL停留在“数据:”。(下面的堆栈跟踪)我们找到了使用带有chromedriver2.43的Chrome版本69的解决方法,但是,Chrome继续坚持self更新。我们正在运行Selenium-java3.4、htmlunit-driver2.27、testng6.9.4、junit4.7以及maven-compiler-plugin3.6.1、maven-surefire-plugin2.22.0。org.openqa.sele

java - 为什么我无法访问 protected 字段?

我正在学习java中的访问级别,我创建了3个类:在包my.inheritance中我有A类和C类packagemy.inheritance;publicclassA{protectedinta=15;}packagemy.inheritance;publicclassC{publicstaticvoidmain(String[]args){Aa=newA();System.out.println(a.a);}}在另一个名为my.inheritance.test的包中,我有一个类B试图访问int值a的protected字段,但编译器对此提示!packagemy.inheritance.t

java - 该方法只能设置 public/protected/private 之一

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭上个月。Improvethisquestion我正在实现一个接口(interface):publicinterfaceConsultant{//somedocumentationhereexplainingitshouldthrow3typesofexceptionsCellLocationsuggest(GameBoardgameBoard)

java - SWT Java : how to change colour of text in Label control?

我知道如何更改大小、样式,但如何在Label控件中设置文本颜色?到目前为止,这是我的代码:LabelmyLabel=newLabel(shell,SWT.NONE);myLabel.setText("sometextthatneedstobeforexamplegreen");FontData[]fD=myLabel.getFont().getFontData();fD[0].setHeight(16);fD[0].setStyle(SWT.BOLD);myLabel.setFont(newFont(display,fD[0]));我看到FontData类中没有颜色属性。

java - 使用父类(super class) "protected final"方法为子类保留公共(public)代码

作为一个(迂腐的)初学者Java程序员,我想知道,将所有子类使用的公共(public)代码块移动到单独的protected(final)父类中的方法?诸如用通用值填充列表或通用过滤算法等任务...是否也可以使用protected静态方法?classA{protectedfinalListgetVariants(){...}protectedfinalListfilterResults(Listvariants){...}}classBextendsA{publicListdoSomethingUsefull(){ListcommonVariants=getVariants();...r