我有一节课:
import java.util.List;
import java.util.String;
import javax.xml.bind.annotation.XmlType;
@XmlType
public class Foo {
private List<Foo> compound;
private String bar;
// private method used internally to know
// if this is a compound instance
private boolean isCompound() {
return compound != null && compound.size() != 0;
}
// public setter for compound instance var
public void setCompound(List<Foo> compound) {
this.compound = compound;
}
// public getter for compound instance var
public List<Foo> getCompound() {
return compound;
}
public void setBar(String bar) {
this.bar = bar;
}
public String getBar() {
return bar;
}
}
在正常使用中,该类的行为与您预期的一样。方法getcomponent
和setcomponent
获取并设置复合列表。然而,我使用这个类作为一个对象,在使用JAX-WS构建的web服务中传递。当JAX-WS编译器看到这个类时,它会忽略setcomponent
和getcomponent
访问器,XSD中出现的唯一属性是bar
。
在一天的大部分时间里,我的头撞在墙上,我决定尝试将私有方法的名称isCompound
改为isacomposite
,突然间一切都如你所料。JAX-WS为复合
属性创建了正确的模式。
似乎正在发生的事情是,JAX-WS看到了是compound
方法(即使它是私有的),并将其视为没有相应setter的getter,因此忽略了compound
的真正公共访问器。
JavaBean规范中是否有任何内容说您不能拥有私有is
如果你改变了,会发生什么
return compound != null && compound.size() != 0;
//To:
private boolean isCompound() {
boolean check = false;
if(compound !=null && compound.size()!=0){
check = true;
}else{
check =false;
}
return check;
}
//or
@XmlAccessorType(XmlAccessType.NONE) on the class and @XmlElement and @XmlAttribute on the get/set methods.
我有一个关于静态方法访问的问题。我有一个类,其中有4个静态方法。如代码所示: } 我正在从下面的代码调用来自onLoadShipperDetailsListCtrl()的setSortingEnable()方法: } 因此,如果我从其他类调用setSortingEnabled()方法,我会认为它是公共的,而其他方法是私有的,但它会给我一个错误:Java . lang . nosuchmethode
问题内容: 将方法标记为程序包专用类是否有所不同? 之间和此处的可见性是否有实际差异? 问题答案: 如果该类不会被另一个更可见的子类扩展,则唯一的区别是 intent的清晰度* 。将所有方法包都声明为私有,使以后的读者更加难以确定同一包中的其他类将调用哪些方法。 作为我的设计解决方案,这没有多大意义,但是从技术上来说还是有可能的。
问题内容: 我当时正在上课,我想到了几个问题。 我注意到,其他类将使用的公共方法调用了一些私有方法来完成所有工作。现在,我知道OOD的原则之一就是尽可能多地私有化并隐藏所有实现细节。我不确定我是否完全理解其背后的逻辑。 我知道将字段设为私有很重要,以防止将无效值存储在字段中(这只是许多原因之一)。但是,对于私有方法,我不确定为什么它们如此重要。 例如,对于类,我们是否不能将所有实现代码都放入公共方
我知道如何访问私有变量,但我正在尝试测试以下类: ProcessStatusResult: 在我的测试中,我需要在ProcessStatusBody中获取ProcessStatus来验证它,但我不知道如何做到这一点。 有没有一种方法可以使用反射(或其他方法)来访问它,而不必仅仅为了测试而在ProcessStatusResult中添加getter?
本文向大家介绍具有公共文件访问权限集的Drupal私有文件下载,包括了具有公共文件访问权限集的Drupal私有文件下载的使用技巧和注意事项,需要的朋友参考一下 Drupal有两种允许用户下载文件的方式,它们是私有的和公共的。 在公开的情况下,任何人都可以打开文件,而Drupal则不参与下载过程。这意味着下载文件时不会记录任何统计信息或使用权限。每个文件均按名称引用。 私有文件访问意味着每次下载文件