草庐IT

super-jump

全部标签

java - 在 super 构造函数运行之前初始化字段?

在Java中,有没有办法在super构造函数运行之前初始化一个字段?即使是我能想到的最丑陋的hack也会被编译器拒绝:classBase{Base(StringsomeParameter){System.out.println(this);}}classDerivedextendsBase{privatefinalinta;Derived(StringsomeParameter){super(hack(someParameter,a=getValueFromDataBase()));}privatestaticStringhack(StringreturnValue,intignore

java - 在 super 构造函数运行之前初始化字段?

在Java中,有没有办法在super构造函数运行之前初始化一个字段?即使是我能想到的最丑陋的hack也会被编译器拒绝:classBase{Base(StringsomeParameter){System.out.println(this);}}classDerivedextendsBase{privatefinalinta;Derived(StringsomeParameter){super(hack(someParameter,a=getValueFromDataBase()));}privatestaticStringhack(StringreturnValue,intignore

java - super 关键字的含义

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestionsuper关键字在Java中的含义和用法是什么? 最佳答案 super是Java中的关键字。它指的是直系parent的属性(property)。super()//refersparent'sconstructorsuper.getMusic();//referstotheparent'smethod-ReadMoreonsuper

java - super 关键字的含义

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestionsuper关键字在Java中的含义和用法是什么? 最佳答案 super是Java中的关键字。它指的是直系parent的属性(property)。super()//refersparent'sconstructorsuper.getMusic();//referstotheparent'smethod-ReadMoreonsuper

java - 如何通过使用父类(super class)来减少代码?

我想重构一些目前由一个父类(superclass)和两个子类组成的代码。这些是我的类(class):publicclassAnimal{inta;intb;intc;}publicclassDogextendsAnimal{intd;inte;}publicclassCatextendsAnimal{intf;intg;}这是我当前的代码:ArrayListlistAnimal=newArrayList();if(condition){Dogdog=newDog();dog.setA(..);dog.setB(..);dog.setC(..);dog.setD(..);dog.setE

java - 如何通过使用父类(super class)来减少代码?

我想重构一些目前由一个父类(superclass)和两个子类组成的代码。这些是我的类(class):publicclassAnimal{inta;intb;intc;}publicclassDogextendsAnimal{intd;inte;}publicclassCatextendsAnimal{intf;intg;}这是我当前的代码:ArrayListlistAnimal=newArrayList();if(condition){Dogdog=newDog();dog.setA(..);dog.setB(..);dog.setC(..);dog.setD(..);dog.setE

java - 为什么我不能在我的 super() 调用周围使用 try block ?

因此,在Java中,构造函数的第一行必须是对super的调用……无论是隐式调用super(),还是显式调用另一个构造函数。我想知道的是,为什么我不能在它周围放一个tryblock?我的具体情况是我有一个模拟类进行测试。没有默认构造函数,但我想要一个使测试更易于阅读。我还想将构造函数抛出的异常包装到RuntimeException中。所以,我实际上想要做的是:publicclassMyClassMockextendsMyClass{publicMyClassMock(){try{super(0);}catch(Exceptione){thrownewRuntimeException(e)

java - 为什么我不能在我的 super() 调用周围使用 try block ?

因此,在Java中,构造函数的第一行必须是对super的调用……无论是隐式调用super(),还是显式调用另一个构造函数。我想知道的是,为什么我不能在它周围放一个tryblock?我的具体情况是我有一个模拟类进行测试。没有默认构造函数,但我想要一个使测试更易于阅读。我还想将构造函数抛出的异常包装到RuntimeException中。所以,我实际上想要做的是:publicclassMyClassMockextendsMyClass{publicMyClassMock(){try{super(0);}catch(Exceptione){thrownewRuntimeException(e)

java - 不兼容的ClassChangeError : class ClassMetadataReadingVisitor has interface ClassVisitor as super class

我已经使用spring-mvc和mongodb作为数据库构建了一个Web应用程序。我使用maven3构建应用程序。项目构建成功,但是当应用程序启动时,我在日志中收到以下错误,因为我的应用程序没有启动。这曾经在几个月前有效。Causedby:java.lang.IncompatibleClassChangeError:classorg.springframework.core.type.classreading.ClassMetadataReadingVisitorhasinterfaceorg.springframework.asm.ClassVisitorassuperclass如果

java - 不兼容的ClassChangeError : class ClassMetadataReadingVisitor has interface ClassVisitor as super class

我已经使用spring-mvc和mongodb作为数据库构建了一个Web应用程序。我使用maven3构建应用程序。项目构建成功,但是当应用程序启动时,我在日志中收到以下错误,因为我的应用程序没有启动。这曾经在几个月前有效。Causedby:java.lang.IncompatibleClassChangeError:classorg.springframework.core.type.classreading.ClassMetadataReadingVisitorhasinterfaceorg.springframework.asm.ClassVisitorassuperclass如果