草庐IT

UAC-protected

全部标签

Java:跨包的 protected 访问

我想了解下面示例中发生的情况(通过子类从包外部访问protected成员)。我知道对于包外的类,子类只能通过继承才能看到protected成员。有两个包:package1和package2。package1:ProtectedClass.javapackageorg.test.package1;publicclassProtectedClass{protectedvoidfoo(){System.out.println("foo");}}package2:ExtendsprotectedClass.javapackageorg.test.package2;importorg.test.

java - 为什么 protected 可以在同一个包中访问而无需在 java 中继承?

这个问题在这里已经有了答案:Whydoesthe"protected"modifierinJavaallowaccesstootherclassesinsamepackage?(6个答案)关闭6年前。ModifierClassPackageSubclassWorldpublicYYYYprotectedYYYNnomodifierYYNNprivateYNNNpublicclassa{protectedintx;}publicclassb{b(){aA=newa();A.x=9;//whywecanaccessthisfield?}}请帮我了解下protected在Java中的具体工作

java - protected 成员从 java 中的不同包访问 - 一个好奇心

这个问题在这里已经有了答案:UnderstandingJava'sprotectedmodifier(6个答案)关闭3年前。packagepackageOne;publicclassBase{protectedvoiddisplay(){System.out.println("inBase");}}packagepackageTwo;publicclassDerivedextendspackageOne.Base{publicvoidshow(){newBase().display();//thisisnotworkingthrowscompilationerrorthatdispla

java - 抽象类中的 protected 数据

我的问题具体涉及Java、抽象类和protected数据的使用。我被告知所有数据都应该是私有(private)的,并且只使用protectedgetter/setter。现在,我明白我们想要保护数据免受类的临时用户的直接操作,而公共(public)数据成员通常是一种有问题的做法。我看过“Javaprotectedfieldsvspublicgetters”(Javaprotectedfieldsvspublicgetters),但我仍然怀疑:protectedinti;在抽象类中比:privateinti;protectedintgeti();protectedvoidseti(int

java - 通过 UAC 提升 ProcessBuilder 进程?

我正在尝试运行外部可执行文件,但显然它需要提升。代码是这样的,修改自使用ProcessBuilder的示例(因此数组只有一个参数):publicstaticvoidmain(String[]args)throwsIOException{Filedemo=newFile("C:\\xyzwsdemo");if(!demo.exists())demo.mkdirs();String[]command={"C:\\fakepath\\bsdiff4.3-win32\\bspatch.exe"};ProcessBuilderpb=newProcessBuilder(command);Proce

java - 模拟 protected 方法

我想模拟一个继承的protected方法。我不能直接从java代码调用这个方法,因为它是从另一个包中的类继承的。我找不到指定此方法stub的方法when(...)packagea;publicclassA(){protectedintm(){}}packageb;publicclassBextendsa.A{//thisclasscurrentlydoesnotoverridemmethodfroma.Apublicasd(){}}//testpackageb;classBTest{@TestpublicvoidtestClass(){Binstance=PowerMockito.sp

java - 为什么在最终的 Java 类中允许 protected 成员?

为什么protected成员允许出现在final类中?这不应该是编译时错误吗?编辑:正如人们所指出的,您可以通过使用default修饰符来获得相同的包访问权限。它应该以完全相同的方式表现,因为protected只是默认+子类,而final修饰符明确拒绝子类化,所以我认为答案不仅仅是提供相同的包访问。 最佳答案 protected重写protected的方法需要修饰符来自基类的方法,而不会将这些成员暴露给public.一般来说,您可以引入很多不必要的规则来取缔不合理的组合(例如protectedstatic),但这不会有太大帮助。你不

Python - 访问类的 protected 成员_

给定一个具有一些protected成员和修改它们的公共(public)接口(interface)的类,什么时候可以普遍接受直接访问protected成员?我有一些具体的例子:单元测试内部私有(private)方法,例如__add__或__cmp__访问其他人的protected属性递归数据结构(例如访问链表中的next._data)我不想公开这些属性,因为我不想公开触及它们。我的语法IDE语法突出显示一直说我访问protected成员是错误的-谁在这里?编辑-在下面添加一个简单示例:classComplex:def__init__(self,imaginary,base):self._

python - 使用 Babel : How to protect translator comments (and old translations) in GNU gettext PO files?

与基于Python的Babelgettext实用程序,是否有任何技术可以在.po文件中跨更新保留翻译注释和旧(“过时”)翻译(标有#~).pot文件?第一次过时的翻译在.po文件中,并且运行pybabelupdate,翻译标记为#~.这样一来,一方面,它被视为注释,在译者查看并更改之前不会使用,但另一方面,它不会被删除,因此译者可以引用或复制文本从它到他们的其他翻译。但是,下次运行pybabelupdate时,所有注释将从文件中永久删除。这意味着那些标有#~的翻译也将被删除。例如,使用Babel版本0.9.6和Jinja22.6版和以下文件:./babel.ini:[jinja2:**

python - Pylint W0212 protected 访问

在Python中,带有一个下划线的前缀表示不应在其类之外访问成员。这似乎是在每个类(class)的基础上,如Java和C++.但是,pylint似乎在每个对象的基础上强制执行此约定。有没有办法在不求助于#pylint:disable=protected-access的情况下允许按类访问?classA:def__init__(self):self._b=5def__eq__(self,other):returnself._b==other._b结果:pylinta.pya.py:6:W0212(protected-access)Accesstoaprotectedmember_bofac