草庐IT

rb_protect

全部标签

python - 我应该对私有(private)/ protected 方法进行单元测试吗

这实际上与语言无关。但我会在python中给你上下文。我有这个父类classMammal(object):def__init__(self):"""dosomework"""defeat(self,food):"""Eatthefood"""way_to_eat=self._eating_method()self._consume(food)def_eating_method(self):"""Templatemethod"""def_consume(self,food):"""Templatemethod"""这里eat是唯一的公共(public)方法,而_consume和_eati

python - 文件对象中的rb和r+b模式有什么区别

我在Python中使用pickle模块并尝试不同的文件IO模式:#worksonwindows.."rb"withopen(pickle_f,'rb')asfhand:obj=pickle.load(fhand)#worksonlinux.."r"withopen(pickle_f,'r')asfhand:obj=pickle.load(fhand)#worksonboth"r+b"withopen(pickle_f,'r+b')asfhand:obj=pickle.load(fhand)我从未在任何地方读到过“r+b”模式,但在documentation中发现了它的提及。.如果我使用

java - 为什么我可以用公共(public)方法覆盖 protected 方法?

当我用public方法覆盖protected方法时,Java编译器不会报错。这里到底发生了什么?由于父方法的可见性较低,是覆盖还是隐藏了父方法? 最佳答案 子类总是可以扩展访问修饰符,因为它仍然是父类(superclass)的有效替代。来自Java规范关于RequirementsinOverridingandHiding:Theaccessmodifier(§6.6)ofanoverridingorhidingmethodmustprovideatleastasmuchaccessastheoverriddenorhiddenmet

java - 使用 Java 反射访问测试用例中的 protected 方法

我正在尝试使用Java反射获取和调用驻留在不同类和不同包中的protected方法。包含protected方法的类:packagecom.myapp;publicclassMyServiceImpl{protectedListretrieveItems(Stringstatus){//Implementation}}调用类:packagexxx.myapp.tests;importcom.myapp.MyServiceImpl;publicclassMyTestCase{Listitems;publicvoidsetUp()throwsException{MyServiceImplse

java - java中默认访问说明符和 protected 访问说明符之间的区别

这个问题在这里已经有了答案:Whatisthedifferencebetweenpublic,protected,package-privateandprivateinJava?(30个回答)关闭2年前。我正在尝试学习java,但当我通过访问说明符时,我有一个疑问。如果没有指定默认值和java中protected访问说明符有什么区别? 最佳答案 这个Javatutorial可能对你有用。Modifier|Class|Package|Subclass|Worldpublic|Y|Y|Y|Yprotected|Y|Y|Y|Nnomodi

java - 为什么接口(interface)不能有 protected 方法

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:ProtectedinInterfaces在Java中,为什么我不能在接口(interface)中使用protected方法?因为根据Java规范protectedaccess(denotedbythekeywordprotected)-afieldormethodaccessibletoanytypeinthesamepackage,andtosubclassesinanypackage.如果我必须使用接口(interface),我将实现它并覆盖方法。因此,如果我要实现类可以访问这些方法的位置,因为可以在任

java - Java 中的接口(interface) : cannot make implemented methods protected or private

我知道接口(interface)必须是公共(public)的。但是,我不希望那样。我希望我实现的方法只能从它们自己的包中访问,所以我希望我实现的方法受到保护。问题是我无法保护接口(interface)或实现的方法。什么是变通方法?是否有与此问题相关的设计模式?根据Java指南,抽象类也无法完成这项工作。 最佳答案 阅读this.“公共(public)访问说明符表示该接口(interface)可以被任何包中的任何类使用。如果您不指定该接口(interface)是公共(public)的,那么您的接口(interface)将只能被定义在与

java - 为什么 protected android :onClick method in Activity actually work?

假设您在Activity中将android:onClick="doClick"定义为protectedvoiddoClick(Viewview){}documentation声明ThisnamemustcorrespondtoapublicmethodthattakesexactlyoneparameteroftypeView.这是底层Class.getMethod()方法的给定要求,它只找到公共(public)方法作为documentation声明它ReturnsaMethodobjectthatreflectsthespecifiedpublicmembermethodofthec

java - 了解 Java 的 protected 修饰符

我在package1中有一个名为A的类,在package2中有另一个名为C的类。C类扩展了A类。A有一个实例变量,声明如下:protectedintprotectedInt=1;这是A类的代码packagepackage1;publicclassA{publicintpublicInt=1;privateintprivateInt=1;intdefaultInt=1;protectedintprotectedInt=1;}这是C类的代码:packagepackage2;importpackage1.A;publicclassCextendsA{publicvoidgo(){//reme

java - 为什么类或接口(interface)不能接收私有(private)或 protected 访问修饰符?

我正在阅读一些Java文本,文本说我们只能为类和接口(interface)应用public或default访问修饰符。因此,如果我们声明如下是编译错误:privateclassA{}或protectedclassA{}我只是好奇为什么一个类或接口(interface)不能接收private或protected访问修饰符? 最佳答案 private表示“仅在封闭类中可见”。protected表示“仅在封闭类和任何子类中可见,并且在封闭类的包中的任何位置可见”。因此,private在应用于顶级类时没有任何意义;protected定义的第