草庐IT

local-class

全部标签

java - Java内部类的两个问题(class A { class B { } })

抱歉标题不好,但我想不出更好的标题。我有一个A类和一个B类,它是A的子类,如下所示:(真的有正确的名字吗?“子类”不是为继承保留的吗?)classA{inti=0;classB{intj=1;}}classTest{publicstaticvoidmain(){Aa=newA();Bb=a.newB();Ac=???b???//get"a"back}}从B可以访问A的每个属性,因此a.i和b.i都返回0。现在,我想知道是否有可能从b中检索A类型的原始对象,因为b包含所有一个包含?简单的转换显然无法解决问题。第二个:classA{voidprint(){System.out.printl

java - 父类(super class)的私有(private)方法是如何解决的?

classA{privatevoidsayA(){System.out.println("PrivatemethodofA");}publicstaticvoidmain(Stringargs[]){AinstanceA=newB();instanceA.sayA();}}classBextendsA{}我原以为它会抛出一个运行时异常,因为在编译时编译器检查是否可以在A的引用上调用sayA()并在运行时-time它将检查sayA()是否可以在B的对象上调用。但它反而打印了“A的私有(private)方法”。 最佳答案 可访问性是一个

java - 使用 Eclipse,如何在 Content Assist 中隐藏父类(super class)方法?

例如,我有:JPanelpan=newJPanel();然后我做“平移”。eclipse显示内容辅助。在这个内容帮助中,有JPanel类中的所有方法和所有JPanel父类(superclass)中的所有方法(很多)。我希望eclipse仅向我显示JPanel类的方法,而不是其父类(superclass)的方法。怎么做? 最佳答案 它不是内容辅助,但您可以使用Ctrl+O查看没有父类(superclass)的类的所有方法。 关于java-使用Eclipse,如何在ContentAssist

java.lang.ClassFormatError : Duplicate method name&signature in class file 错误

我们正在将我们的应用程序从Weblogic10.3.0升级到10.3.6。当我们尝试部署它时,我们收到错误:java.lang.ClassFormatError:Duplicatemethodname&signatureinclassfile...经过进一步调查,我们发现问题是由如下代码引起的:interfaceFoo{voidfoo();}interfaceBar{voidfoo();}interfaceBazextendsFoo,Bar{}BazEJBimplementsBaz....这会导致在Baz中生成2个foo方法....ELOImpl.class,这会在我们尝试部署ear文

java - 有什么方法可以知道 Locale 上的国家/地区默认使用的语言吗?

我有这些代码行:Locale[]cosas=Locale.getAvailableLocales();for(inti=0;i我得到这个列表:ms_MYar_QAis_ISfi_FIplen_MTit_CHnl_BEar_SAar_IQes_PRes_CLfide_ATdaen_GBes_PAsrar_YEmk_MKmken_CAvi_VNnl_NLes_USzh_CNes_HNen_USfrtharar_MAlvdein_IDhren_ZAko_KRar_TNinjasr_RSbe_BYzh_TWar_SDptisja_JP_JP_#u-ca-japanesees_BOar_DZms

java - CGLIB 无法拦截父类(super class)/超接口(interface)中的方法

可能是我想得不够认真,或者答案真的难以捉摸。快速场景(尝试代码。编译)。考虑一个遗留接口(interface)publicinterfaceLegacyInterfaceNoCodeAvailable{voidlogInfo(Stringmessage);}考虑上述接口(interface)的遗留实现publicabstractclassLegacyClassNoCodeAvailableimplementsLegacyInterfaceNoCodeAvailable{publicabstractvoidexecuteSomething();publicvoidrockItOldSch

java - 从 DependencyDescriptor 访问 "containing class"

我正在开发一个支持上下文相关注入(inject)的实用程序,即注入(inject)的内容现在也可以取决于注入(inject)的位置。记录器注入(inject)是这种技术的常见应用。到目前为止,我已经成功地为HK2和Guice实现了这个,并且对Dagger有一些限制。为了在Spring中解决这个问题,我使用了一个注册了AutowireCandidateResolver的BeanFactoryPostProcessor。但是,为了实现预期的语义,我需要知道实际目标对象的类型,这可能与声明注入(inject)点的类型不同。例如:classBaseClass{@InjectLoggerlogg

Java 8 Locale.getDefault() 返回 null

我们有一个案例,其中运行使用1.8.0_092的Java8应用程序的PC从Locale.getDefault()返回null。虽然处理这个很简单,但我更担心返回null,因为documentation对于该方法并不表示null是可能的。我们没有从java命令行设置语言环境,也没有在任何地方调用setDefault()。此安装中Locale.getDefault()会返回null可能有什么问题?我没有正确阅读Java文档吗? 最佳答案 查看JDK1.8.0_092的源代码,我看到Locale.getDefault()返回的值来场def

java - Hibernate:将子类的实例转换为父类(super class)的实例

假设我有一个名为User的类和一个ExtendedUser类,后者是User的子类。这两个类都使用hibernate(JPA)注释进行映射:用户:@Entity@Table("user-table")@Inheritance(strategy=InheritanceType.JOINED)publicclassUser{@Id@GeneratedValue@Column(name="id")privateIntegerid;@Column(name="name")privateStringname;}扩展用户:@Entity@Table(name="extended-user-tabl

java - Spring MVC : Generic DAO and Service classes

我正在使用SpringMVC编写Web。我使用GenericDAO编写了所有DAO。现在我想重写我的服务类。如何编写“通用服务”?有我的DAO:/*#################################DAO################################*/packagenet.example.com.dao;importjava.util.List;publicinterfaceGenericDao{publicTfindById(intid);publicListfindAll();publicvoidupdate(Tentity);publicvoi