假设我有A、B和C三个类(class)。B扩展AC扩展B都定义了一个publicvoidfoo()方法。现在我想从C的foo()方法调用A的foo()方法(不是它的父B的方法,而是超父类(superclass)A的方法)。我试过super.super.foo();,但它的语法无效。我怎样才能做到这一点? 最佳答案 你甚至不能使用反射。类似的东西ClasssuperSuperClass=this.getClass().getSuperclass().getSuperclass();superSuperClass.getMethod("
假设我有A、B和C三个类(class)。B扩展AC扩展B都定义了一个publicvoidfoo()方法。现在我想从C的foo()方法调用A的foo()方法(不是它的父B的方法,而是超父类(superclass)A的方法)。我试过super.super.foo();,但它的语法无效。我怎样才能做到这一点? 最佳答案 你甚至不能使用反射。类似的东西ClasssuperSuperClass=this.getClass().getSuperclass().getSuperclass();superSuperClass.getMethod("
.class文件和.java文件有什么区别?我试图让我的小程序工作,但目前我只能在Eclipse中运行它,我还不能嵌入HTML。谢谢**Edit:那么如何用JVM编译呢? 最佳答案 .class文件是已编译的.java文件。.java是所有文本并且是人类可读的。.class是二进制的(通常)。您可以通过转到命令行、导航到.java文件并运行来将java文件编译为类文件javac"c:\the\path\to\your\file\yourFileName.java"您的计算机上必须安装javaSDK(从Oracle获取),并确保jav
.class文件和.java文件有什么区别?我试图让我的小程序工作,但目前我只能在Eclipse中运行它,我还不能嵌入HTML。谢谢**Edit:那么如何用JVM编译呢? 最佳答案 .class文件是已编译的.java文件。.java是所有文本并且是人类可读的。.class是二进制的(通常)。您可以通过转到命令行、导航到.java文件并运行来将java文件编译为类文件javac"c:\the\path\to\your\file\yourFileName.java"您的计算机上必须安装javaSDK(从Oracle获取),并确保jav
请参阅下面的代码,其中方法print被覆盖,但变量a未被覆盖。为什么允许在子类中声明重复变量?classB{inta=10;publicvoidprint(){System.out.println("insideBsuperclass");}}classCextendsB{inta=20;publicvoidprint(){System.out.println("insideCsubclass");}}publicclassA{publicstaticvoidmain(String[]args){Bb=newC();b.print();//prints:insideCsubclassS
请参阅下面的代码,其中方法print被覆盖,但变量a未被覆盖。为什么允许在子类中声明重复变量?classB{inta=10;publicvoidprint(){System.out.println("insideBsuperclass");}}classCextendsB{inta=20;publicvoidprint(){System.out.println("insideCsubclass");}}publicclassA{publicstaticvoidmain(String[]args){Bb=newC();b.print();//prints:insideCsubclassS
我想创建一个parent-last/child-first类加载器,例如一个类加载器,它将首先在子类加载器中查找类,然后才委托(delegate)给它的父类加载器来搜索类。澄清:我现在知道要获得完整的ClassLoading分离,我需要使用URLClassLoader之类的东西,将null作为它的父级,这要感谢thisanswer回答我之前的问题但是当前的问题可以帮助我解决这个问题:我的代码+依赖jar正在加载到现有系统中,使用ClassLoader将该系统的ClassLoader设置为其父级(URLClassLoader)该系统使用了一些与我需要的版本不兼容的库(例如,旧版本的Xer
我想创建一个parent-last/child-first类加载器,例如一个类加载器,它将首先在子类加载器中查找类,然后才委托(delegate)给它的父类加载器来搜索类。澄清:我现在知道要获得完整的ClassLoading分离,我需要使用URLClassLoader之类的东西,将null作为它的父级,这要感谢thisanswer回答我之前的问题但是当前的问题可以帮助我解决这个问题:我的代码+依赖jar正在加载到现有系统中,使用ClassLoader将该系统的ClassLoader设置为其父级(URLClassLoader)该系统使用了一些与我需要的版本不兼容的库(例如,旧版本的Xer
假设我们有一个类名Home。Home.this和Home.class有什么区别?它们指的是什么? 最佳答案 Home.thisHome.this引用Home类的当前实例。这个表达式的正式术语似乎是Qualifiedthis,如Java语言规范的第15.8.4节中所引用。在一个简单的类中,说Home.this和this是等价的。此表达式仅在存在内部类且需要引用封闭类的情况下使用。例如:classHello{classWorld{publicvoiddoSomething(){Hello.this.doAnotherThing();//
假设我们有一个类名Home。Home.this和Home.class有什么区别?它们指的是什么? 最佳答案 Home.thisHome.this引用Home类的当前实例。这个表达式的正式术语似乎是Qualifiedthis,如Java语言规范的第15.8.4节中所引用。在一个简单的类中,说Home.this和this是等价的。此表达式仅在存在内部类且需要引用封闭类的情况下使用。例如:classHello{classWorld{publicvoiddoSomething(){Hello.this.doAnotherThing();//