`
刘彦明
  • 浏览: 7654 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java编译过程应该注意这个呢。

阅读更多
今天,在测试interface“父类引用指向子类对象这句话”时,写了一个小小程序:
package com.gdut.liuyanming;
public class Inferface {


public class B implements A{
int a;
B(int a){
this.a = a;
}

public void get() {
System.out.println("I love you !");

}

public void gets() {
System.out.println("I love you too!");
}
int returna(int a){
return a;
}

}
public interface A{
public static final int a = 1;
public void get();
public void gets();
}



public static void main(String[] args) {
A s1=new B(2);
s1.get();


}

}
结果运行结果是:提示错误:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No enclosing instance of type Inferface is accessible. Must qualify the allocation with an enclosing instance of type Inferface (e.g. x.new A() where x is an instance of Inferface).
根据提示,没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例(A s1=newB(2))我已经用new实例化了这个类,为什么?
原来我写的classB是一个动态的内部类。主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。
所以将public class B implements A写成public static class B implements A程序就能正常运行咯。
分享到:
评论

相关推荐

    java反编译工具绿色版

    1. **代码还原度**:反编译工具无法完全恢复原始的源代码,因为编译过程中可能会丢失一些注释和变量名。所以,反编译出来的代码可能与原始代码有所差异。 2. **版权问题**:在未得到授权的情况下,不应擅自反编译并...

    java反编译工具

    首先,我们需要了解Java的编译过程。Java源代码(.java文件)通过Java编译器(javac)被编译成字节码(.class文件),这个字节码是平台无关的,可以在任何支持Java的环境中执行。然而,字节码是机器不可读的,因此...

    java反编译程序

    Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程。在开发或维护项目时,如果原始的源代码丢失...此外,掌握基本的Java字节码知识也是有帮助的,因为这有助于理解反编译过程和可能的限制。

    JavaCompiler --JDK6 API的简介(java动态编译)

    使用 JavaCompiler,我们可以轻松地编译 Java 源代码,并且可以更好地控制编译过程。 在实际应用中,JavaCompiler 广泛应用于 Java 动态编译中,例如,在 Web 开发中,我们可以使用 JavaCompiler 来动态编译 Java ...

    java反编译exe

    Java反编译exe主要指的是将Java的字节码(.class文件)转换回源代码(.java文件)的过程。在Java编程中,源代码被编译成字节码,然后由JVM(Java虚拟机)执行。然而,出于调试、学习或者逆向工程的目的,有时我们...

    JAVA反编译软件(可将class文件反编译为java文件)

    Java反编译是Java开发中一个重要的辅助工具,它能够帮助开发者查看已编译的`.class`文件中的源代码,即使原始的`.java`源文件已经丢失或未被提供。这个过程对于理解类库的工作原理、逆向工程、调试、学习或者分析...

    java jar反编译工具 java Class反编译工具

    Java开发过程中,有时我们需要查看或理解已编译的Class文件中的源代码,因为Java的编译过程会将源代码转化为字节码(.class文件)。在这种情况下,反编译工具就派上了用场。本篇文章将详细介绍Java的jar反编译工具...

    咖啡图形的java反编译工具(实用)

    这款名为“咖啡图形的java反编译工具”很可能是一款界面友好的图形化工具,专为简化这个过程而设计。 Java字节码是一种中间语言,由Java编译器生成,可以在任何支持Java虚拟机(JVM)的平台上运行。然而,由于字节...

    java .class反编译成.java工具

    5. **分析与保存**:你可以分析反编译的源代码,但请注意,由于反编译过程的不完美性,生成的.java文件可能与原始源代码略有不同,例如变量名和注释可能会丢失。如果需要,可以通过“File”菜单选择“Save As...”...

    Java反编译工具jui

    在Java反编译过程中,有几个关键概念和技术: 1. **字节码**: Java源代码被编译成字节码,这是一种平台无关的中间语言,可以在任何支持Java的平台上运行。字节码是Java虚拟机(JVM)理解和执行的指令集。 2. **反...

    java class反编译工具

    Java字节码是Java源代码经过编译后的中间表示,它不包含原始的注释和变量名,这些信息在编译过程中被优化掉。反编译就是尝试从字节码中恢复出类似原始源代码的形式,虽然不能完全还原,但通常可以得到可读性较高的...

    java反编译工具(.class文件反编译成.java文件)

    2. **代码质量**:反编译的代码可能与原始源代码略有不同,因为反编译过程不能完全恢复原始注释和代码结构。 3. **安全风险**:不要轻易反编译未知来源的.class文件,因为这可能包含恶意代码。 总的来说,Java反...

    JAVA反编译工具

    标签“JAVA 反编译 工具”进一步明确了主题,强调了该工具与Java编程语言及其反编译过程密切相关,同时也是一个工具,可能具备图形化界面或简单的命令行接口,以提高用户体验。 压缩包子文件的文件名称列表仅提供了...

    java反编译工具 java反编译工具

    反编译是将这种字节码转换为人类可读的Java源代码,这个过程可以揭示程序的逻辑结构,尽管可能无法完全恢复原始源代码的精确格式和注释。 2. **常用Java反编译工具** - **JD-GUI**:一个图形用户界面工具,可以...

    JAVA反编译详细步骤

    为了提升你的Java水平,了解反编译过程可以帮助你理解如何从字节码层面看待代码执行。你可以通过反编译库代码来学习别人的实现技巧,或者在调试时查看编译后的结果。同时,反编译也可以帮助你分析可能的性能瓶颈,...

    java .class 类反编译软件

    首先,我们需要理解Java的编译过程。当开发者编写完`.java`源代码后,会通过Java编译器(如javac)将这些源代码编译成字节码,即`.class`文件。字节码是一种中间表示,它不依赖于特定的硬件平台,可以在任何支持Java...

    Java反编译工具

    Java语言的编译过程是将源代码(.java文件)编译成字节码(.class文件),这个过程是单向的,因为字节码并不直接对应源代码的语法结构。然而,通过反编译技术,我们可以逆向这个过程,尽管不能完全恢复到原始的源...

    安卓、Java反编译工具

    在实际操作中,反编译过程可能会遇到各种挑战,如混淆代码、优化过的字节码、加密的资源等。反编译结果可能与原始源代码有所不同,特别是当应用使用了代码混淆技术时,还原出的代码可能会难以阅读和理解。然而,通过...

    JAVA最新反编译工具及配置过程

    Java反编译是将已编译的字节码(.class文件)转换回源代码的过程,这对于理解已加密或混淆的代码,或者查看开源库的内部实现非常有用。本文将详细介绍如何使用最新的Java反编译工具及其配置过程。 首先,我们要了解...

    java 反编译工具

    描述中提到的"java反编译工具,将class 文件 编译成java文件",这个过程实际上不是真正的“编译”,而是“反编译”。常见的Java反编译工具有如JD-GUI、jad、 FernFlower等。例如,JD-GUI(在文件名jd-gui-1.4.0中...

Global site tag (gtag.js) - Google Analytics