草庐IT

protected-mode

全部标签

java - 为什么 protected 实例成员在不同包的子类中不可见,但 protected 类成员是?

这个问题在这里已经有了答案:UnderstandingJava'sprotectedmodifier(6个答案)关闭5年前。packageone;publicclassA{protectedintfirst;protectedstaticintsecond;}packagetwo;importone.A;publicclassBextendsA{publicvoidsomeMethod(){this.first=5;//worksasexpectedB.second=6;//worksAa=newA();//a.first=7;doesnotcompile//worksjustfine

Java:无法访问扩展子类中父类(super class)的 protected 成员

我想就此进行一些讨论,但我无法为我的案例推断出答案。仍然需要帮助。这是我的代码:packageJustRandomPackage;publicclassYetAnotherClass{protectedintvariable=5;}packageFirstChapter;importJustRandomPackage.*;publicclassATypeNameProgramextendsYetAnotherClass{publicstaticvoidmain(String[]args){YetAnotherClassbill=newYetAnotherClass();System.o

java - 具有公共(public)构造函数而不是 protected 构造函数的抽象类有什么意义吗?

既然抽象类不能被实例化,而且protected成员对子类总是可见的,那么它的构造函数是public还是似乎没有区别em>protected。有没有公共(public)构造函数与protected构造函数相比有所不同的示例?我通常更喜欢适用的最严格的访问级别。 最佳答案 不,没有充分的理由为抽象类创建公共(public)构造函数:如果不首先对其进行子类化,则无法实例化抽象类,并且该语言会为您处理相关的极端情况。特别是,如果您要匿名子类化您的抽象类,这意味着您无法在子类中提供您自己的构造函数,该语言将根据抽象基类的protected构造

java - 使用 Flying Saucer 解析 protected 资源(ITextRenderer)

我正在使用FlyingSaucer从托管在tomcat服务器上的xhtml创建pdf。pdf中包含的大部分图像都是公开可用的(Logo等),但其中一些图像在登录后受到保护(也就是说,如果用户已登录,它们将通过servlet流式传输)。当我将url粘贴到浏览器中时,图像当然可以正常显示,因为浏览器会发送带有请求的session。但是当FlyingSaucer呈现pdf时,它不包含protected图像,因为它对session一无所知。所以,我的问题是;有什么方法可以包含FlyingSaucer解析的字节流,就像可以添加可解析的字体一样?我试过类似this的东西,但没有简单的方法在ITex

java - 避免 "cannot retry due to server authentication, in streaming mode"错误,不涉及任何 CXF

我已经在很多地方搜索过处理过这个HttpRetryException问题的其他人,但我发现的所有人都遇到过一些名为CXF的apache服务,我没有使用它。我使用的是java.net.HttpURLConnection。我创建一个连接,将setRequestProperty用于“授权”,获取输出流,写入一堆字节,然后尝试读取回复输入流。大多数时候这都有效,但有时我会遇到上述异常。我无法避免流式传输,因为有时我需要写入比内存中所能存储的更大的文件,而且无论如何,我发现的大多数搜索结果都表明这不是真正的问题。他们通常按照bindingProvider.getRequestContext().

java - Java 最终类中 protected 方法的用例是什么?

考虑来自官方OpenJDKsource的这段代码java.awt.font.TextLayout的:publicfinalclassTextLayout{/*...*/protectedvoidhandleJustify(floatjustificationWidth){//nevercalled}}这里的用例是什么?为什么通常编写这样的代码可能有意义? 最佳答案 protected成员仍然可以通过同一包中的代码访问。我的猜测是这个类在一些早期的(可能甚至不是公共(public)的)版本中曾经是非最终的,然后变成了最终的,并且pro

java - 使用 protected 构造函数匿名初始化类

假设我们有一个类:publicclassSomeClass{protectedSomeClass(){}}在位于不同包中的MainClass中,我尝试执行两行:publicstaticvoidmain(String[]args){SomeClasssac1=newSomeClass();SomeClasssac2=newSomeClass(){};}因为protected构造函数,在这两种情况下我都认为程序会失败。令我惊讶的是,匿名初始化工作正常。有人能解释一下为什么第二种初始化方法可以吗? 最佳答案 你的匿名类SomeClasss

java - Java中 protected 类结构?

我想知道Java中是否有一种语言特性,其中父类(superclass)的方法对于子类的成员是不可见的:publicclassSubclassextendsprotectedSuperclass什么的。我举个例子。这是你的父类(superclass)。publicclassA{publicStringgetA(){...}publicStringgetB(){...}publicStringgetC(){...}publicvoidsetA(Stringa){...}publicvoidsetB(Stringb){...}publicvoidsetC(Stringc){...}}如果您想

java - 使用基类实例在派生类中访问的 protected 成员

我在派生类中创建了基类的实例并试图访问protected成员。我可以直接访问派生类中的protected成员,而无需实例化基类。基类:packagecom.core;publicclassMyCollection{protectedIntegerintg;}同一包中的派生类-packagecom.core;publicclassMyCollection3extendsMyCollection{publicvoidtest(){MyCollectionmc=newMyCollection();mc.intg=1;//Works}}不同包中的派生类-packagesecondary;imp

java - 为什么 Java 构造函数必须是 public 或 protected 才能将类扩展到其包之​​外?

以下是我的ProtectedConstructor.java源码:packageprotectCon;publicclassProtectedConstructor{publicintnothing;ProtectedConstructor(){nothing=0;}}下面是UsingProtectedCon.java来源:packageother;importprotectcon.ProtectedConstructor;publicclassUsingProtectedConextendsProtectedConstructor{//**Line4**publicstaticvoi