Tag: inheritance

maven-cxf-codegen-plugin使用Jaxb绑定为所有生成的类添加inheritance

我正在使用Apache CXF的cxf-codegen-plugin将wsdl转换为java对象。 我指定了一个绑定文件来添加额外的jaxb处理。 我希望所有这些文件都从接口inheritance(或扩展抽象类)。 我的问题是,虽然我可以使用一个生成的文件来使用它 example.Dao 这将使sampleObj实现example.Dao。 我不知道如何处理所有复杂类型(生成的类)。 不为每个类重复上述绑定(> 100) 我试过了, 但它不起作用。 这是我的maven插件,如果它有帮助: org.apache.cxf cxf-codegen-plugin ${cxf.version} generate-resources process-resources ${project.build.directory}/generated/ ${wsdl_location} classpath:wsdl.wsdl <!–classpath:wsdl.wsdl–> -autoNameResolution -xjc-Xfluent-api -xjc-Xbg -verbose -validate -mark-generated -xjc-Xinheritance -p com.example ${project.build.directory}\classes\jax-ws_binding.xjb wsdl2java org.jvnet.jaxb2_commons jaxb2-fluent-api 3.0 org.jvnet.jaxb2_commons jaxb2-basics 0.6.5 org.jvnet.jaxb2_commons jaxb2-basics-annotate 0.6.5 org.jvnet.jaxb2_commons jaxb2-basics-runtime 0.6.5 org.apache.cxf.xjcplugins cxf-xjc-boolean 2.7.0 org.apache.cxf cxf-api ${cxf.version}

Java中对象类的inheritance

当我阅读java书籍时,我遇到了“ 每个类扩展类对象 ”…但是如果想要一个类B来扩展类A ……但是B类现在将具有多个inheritance,一个来自Object类和一个来自A级。如何解决冲突。 谁有人解释一下?

在Javagenerics中是否有任何模仿OR的方法

编辑:我改变了一个例子来获得这个想法: 喜欢 …无需创建公共接口并为Integer和Float创建子类来实现它 如果没有,这样的事情可能会更有意义并且更有用 如果? 是一个通配符为什么我们不应该允许限制某些类型?

如何从嵌套类访问超类方法?

我希望这段代码解释了这个问题: class Foo { void a() { / *stuff */ } } class Bar extends Foo { void a() { throw new Exception(“This is not allowed for Bar”); } class Baz { void blah() { // how to access Foo.a from here? } } } 我知道我可能做错了,因为inheritance可能不应该以这种方式使用。 但这是我情况下最简单的方法。 而且,除此之外,我只是好奇。 可能吗?

在scala中访问java基类的静态成员

我用Java编写了一些代码。 对于新课程,我打算用Scala编写。 我有一个关于访问基类的受保护的静态成员的问题。 以下是示例代码: Java代码: class Base{ protected static int count = 20; } 斯卡拉码: class Derived extends Base{ println(count); } 有什么建议吗? 如何在不修改现有基类的情况下解决这个问题

在Java中,为什么超类方法不能从子类实例访问受保护的或私有的方法/变量?

让我们从另一个行为开始:即使您将方法/变量声明为私有,同一个类的另一个实例也可以访问它。 没关系,我可以忍受它。 我将这些类称为私有而不是实例私有。 现在问题部分:例如,在运行时我希望能够检查此类中的所有String变量都不为null,如果它们为null,则应将其更改为字符串“NULL”。 我可以使用reflection来运行变量并获取它们的值。 但是如果我扩展我的类并添加私有甚至保护变量,我的基类就无法访问它们。 在使用它们之前,我必须对变量设置setAccessible 。 所以请向我解释为什么基类(超类)不能从其子类访问私有/受保护变量。 它是它的子类,所以我不明白。 这背后有什么想法? 我知道超类不应该知道它的子类,但在我的例子中它是有意义的,不是吗? 是因为我不能或不应该以这种方式限制我的子类? 更新:根据答案,我还想知道:为什么不从同一个类访问另一个实例的私有变量被视为违反封装?

为什么Java编译器不支持导入inheritance?

在Java中,导入与(外部)类相关,因为每个(外部)类应该在单独的文件中编码。 因此,可以声称import …; 类定义之前的指令与类相关联(有点像注释)。 现在,如果可以inheritance父类的导入,那将大大减少源文件的混乱。 为什么这不可能? 即为什么Java编译器也不考虑基类的导入? 笔记: 可能有不止一个答案。 我知道如果你让eclipse组织你的import,这不是什么大问题,不需要提及。 这是关于’为什么’,而不是’如何’(a-la- this )。

如何为一些Java枚举添加常用方法? (抽象类祖先?)

我有一些Java枚举 public enum Aggregation { MORTGAGE( “Mortgage” ), POOLS( “Pools” ), PORTFOLIO( “Portfolio” ); private Aggregation( final String name ) { m_Name = name; } private String m_Name; static Map c_LOOKUP = new HashMap(); static { for (Aggregation agg:values()){ c_LOOKUP.put(agg.m_Name,agg); } } public Aggregation lookup(String name){ return c_LOOKUP.get( name ); } @Override public String toString() […]

javainheritance的静态初始化

public class Main { public static void main(String[] args) { System.out.println(Bx); } } class A { public static String x = “x”; } class B extends A { static { System.out.print(“Inside B.”); } } 问题:为什么输出将是: x 。 但不是: Inside Bx

如何从基类实例中找出子类?

有没有办法从基类实例中找出派生类的名称? 例如: class A{ …. } class B extends A{ … } class c extends A{ … } 现在,如果方法返回A的对象,我可以找出它是B型还是C ?