【java – 检查子类时“instanceOf”出错】教程文章相关的互联网学习教程文章

java-使用超类初始化子类对象和反之亦然有什么区别?【代码】

您能告诉我这三个在用法上的区别吗?Superclass p1 = new Superclass(); Superclass p2 = new Subclass(); Subclass p3 = new Subclass();解决方法:第一个和第三个对象分别声明了类型的对象-用法很完美,您将获得所有预期的方法. 即使您实际上有一个Subclass对象,第二个也仅提供了Superclass的功能,因为您已将其声明为Superclass. 例如: 超类p1 = new Superclass();您的p1对象可以访问Superclass方法. 超类p2 = new Subclass();您的...

java-从SuperClass强制子类使用@Override方法. SuperClass中的方法必须具有主体【代码】

我想从SuperClass强制SubClasses到@Override方法. SuperClass中的方法不能是抽象的,因为我想提供一些基本的实现. 这是我的代码示例:public abstract class GenericModel<T extends GenericModel> {long id, counter;public String methodToBeOverridenInSubClass(String name) {// some basic implementation// rest details will be provided by subclassreturn name;}} public class SubClass extends GenericModel<SubClass> {...

java-从字符串初始化子类对象【代码】

考虑一个多人格斗游戏,客户端通过向服务器发送一个包含刚选择的战斗机名称的字符串来选择战斗机. 考虑服务器中的“战士”类结构:FighterFoo extends FighterBar extends FighterQux extends Fighter例如,客户端发送了此“ Bar”字符串,如何根据该字符串初始化子类? 我这样做的方式是这样的枚举:public enum Champion {Foo {@Overridepublic Fighter getNew() {return new Foo();}},Bar {@Overridepublic Fighter getNew() {retu...

java-将@Deprecated批注添加到超类,子类或两者都添加?【代码】

我想弃用一种特定的方法.现在,此方法需要一个新的参数,但我想保留以前的实现以实现向后兼容. 是否应该仅在超类(在library-api项目中),子类(在library-impl项目中)或两者上都添加@Deprecated批注?解决方法:@Deprecated注释未使用@Inherited进行注释.因此,该注释将不会自动应用于继承的方法. 这不一定是问题,因为通常IDE会根据声明的类型进行检查.因此,如果您在超类/接口上弃用该方法,则即使您使用未明确弃用该方法的子类/实现,IDE也...

在数组中创建Java中超类类型的子类对象【代码】

我正在尝试介绍OOP内容,但我坚持在这里.我在Company类,employee [0] .setBonus(50)部分中遇到错误.除了在Employee类中定义Bonus方法外,没有其他解决方法吗?还是有将所有对象保持在一个阵列中的方法?我定义了奖励方法,但还有另一件事,在Empoyee类的getBonus方法中我必须返回什么?public class Company{private static Employee[] employees;public Company(){employees= new Employee[]{new Manager("Sapo",10000),new Employee(...

Java继承:在超类中调用子类方法【代码】

我对Java非常陌生,想知道是否可以在超类中调用子类方法.如果进行继承,在哪里设置公共static void main的适当位置. 超类public class User {private String name;private int age;public User() {//Constructor}//Overloaded constructorpublic User(String name, int age) {this.name = name; this.age = age;}public String getName() {return this.name;}public static void main(String []args) {User user1 = new Admin("Bill"...

java-忽略RuntimeTypeAdapterFactory中未注册的子类型【代码】

我们有一个将GSON用作转换器的Retrofit API,它要求将卡片列表显示给用户.卡遵循以下格式:[{"cardType": "user","data": {}},{"cardType": "content","data": {}} ]卡之间的数据属性不同,因此要解决此问题,我们使用GSON的RuntimeTypeAdapterFactory:final RuntimeTypeAdapterFactory<Card> factory = RuntimeTypeAdapterFactory.of(Card.class, "cardType").registerSubtype(UserCard.class, "user")....registerSubtype(ContentC...

java-为什么子类的方法更易于访问?【代码】

一个简单的例子class A {protected int foo(int x){return x; } }class B extends A {public int foo(int x){return x*x; } }Java允许这样做,并且没有任何问题.但是,假设您在另一个包中声明A b = new B(); int z = b.foo(5);然后这将不起作用,因为显然A foo()受保护.但是,为什么首先要允许子类具有更多可访问的方法呢?在这种情况下有帮助吗?解决方法:通常,子类可以向从其父类继承的接口中添加方法.使方法更易于访问有效地添加到...

java-子类中的spring aop咨询方法【代码】

我想为所有扩展或实现特定接口或抽象类的类中的特定方法提供建议.如何使用Spring AOP 2.5实现此目的.解决方法:使用切入点表达式:within(some.package.MyInterface+)加号()表示“该类/接口和所有子类/实现器”. AspectJ Subtype patterns.

在Java中有条件的情况下使用getType测试子类【代码】

我必须找出方法返回类型是否是某个基类的子类.到目前为止,我找不到能做到这一点的内置方法,只能找到测试确切的类匹配的方法.我也可以使用注释来完成此操作,但是我的想法是,如果我碰巧添加了一个新的子类,我不想添加额外的代码.我曾考虑过针对所有可能的子类进行测试,或者创建一个无类型的对象并使用“ instanceof”测试其实例,但是似乎没有什么是理想的.理想情况下:if (m.getReturnType() Extends Superclass.class)但是没有“扩展...

java-我可以通过基类类型的引用访问子类方法吗?【代码】

下面是我正在尝试处理的代码,但无法解决问题:“我真的可以用Java进行以下操作吗.如果是,请帮助我了解“如何”,如果不能,请帮助我. ..看看下面的代码…class Base{public void func(){System.out.println("In Base Class func method !!"); }; }class Derived extends Base{public void func(){ // Method OverridingSystem.out.println("In Derived Class func method"); }public void func2(){ // How to access this...

java-如何在其基类中创建子类对象?【代码】

class arijit {public static void main(String args[]){System.out.println("Base class main");amit ab=new amit(); //how is it possible as the sub class object also holds base class ab.a();ab.ma();}public void m(){System.out.println("Base class method");} }class amit extends arijit {public void a(){System.out.println("Sub Class method");m();} }解决方法:您问题的症结在于,您正在其基类arijit的主要方法中创...

Java-子类型枚举或子类【代码】

我试图让一个枚举对应于一个类或返回该类,但我得到解决.如果我使用CommandType.SELLSHARES来返回SellShares.class,是否可能出现这种情况?还是可以组织具有从父类型继承的不同类别的枚举? 命令-ADMIN,USER,CLIENTpublic enum CommandType {// SELLSHARES, BUYSHARES, UPDATEUSER, ADDUSER, ADMINASSIGNMENT, BANUSER, CHANGESTATUS, REMOVEUSERSELLSHARES (SellShares.class),BUYSHARES (BuyShares.class);private Class<Command>...

可用于商业用途的java.util.Calendar的子类-即IslamicCalendar

我正在寻找Java日历类的一些子类,最好是Hijri(伊斯兰)日历实现,但是可能需要更多的子类.有谁知道可用于商业用途的图书馆? 我已经找到了IBM的ICU库(here),但是它们没有扩展java.util.Calendar,而是编写了自己的类,该类也依赖于定制类. UDate和ULocale.我正在尝试I18n现有的Java应用程序,该应用程序已经有超过400种Calendar的用法,因此我理想地希望坚持使用该类.有什么建议么? 提前致谢.解决方法:与所有Date API问题一样,如果可能,...

java-如何在Eclipse中创建子类?

在演讲中,我的教授很快在Eclipse中创建了一个子类. 结果将“ extend”关键字添加到子类中.我没看到他点击了什么按钮. 有人知道我应该点击哪里吗? (我认为他右键单击了程序包浏览器中的当前类,然后单击New ==>类,然后我迷失了选择的对象).解决方法:当您查看要子类化的类时,请打开“类型层次结构”(按F4键).右键单击要成为父类的班级,然后在菜单中转到新建-> class(或Ctrl-n,class).