0

我是java新手,我在记事本中编写这段代码,这给了我错误。在netbeans中虽然已经定义了包。如何在记事本中做到这一点?

package A;
class A {
    private String name;
    protected String company="oracle";  
    A(String name) {
        this.name = name;
        System.out.println(name);
    }
}

public class B extends A {
    // A public class constant
    public final static String st = "Public access modifiers";

    B(String name) {
        super(name);
    }
    void getCompany()
    {
        System.out.println(company);
    }

}

package B;//getting class interface or enum expected 
public class Application {
    public static void main(String[] args) {
        System.out.println(st);
        B b=new B("Java");
        b.getCompany();
    }
}
4

4 回答 4

3

您不能将不同的包放入同一个源文件中...您必须创建适当的文件夹结构,并为每个包中的源文件分离 Java 源文件...

此外,为了能够引用其他包中的类,您必须对import它们进行适当的引用,并确保它们实际上在类路径上,以便编译和运行......

推荐阅读

于 2013-10-03T08:00:28.490 回答
0
package B;//getting class interface or enum expected 

去掉这行 Package声明应该是源文件的第一行

您不能在同一来源中编写2 个或更多不同的包

于 2013-10-03T08:00:58.680 回答
0

PackageOrTypeName 必须是包、类类型、接口类型、枚举类型或注释类型的规范名称(第 6.7 节)。

这就是它所说的,并删除多个声明package

并且您应该导入该类B,当它们都属于不同的包时。

import packagePath.B;

如果单类型导入声明导入了简单名称为 n 的类型,并且编译单元还声明了简单名称为 n 的顶级类型(第 7.6 节),则会发生编译时错误。

语言规范

旁注:不要在单个 java 文件中编写多个类。后来代码维护起来非常困难。

于 2013-10-03T08:01:33.170 回答
0

package 语句应该是源文件的第一行。每个源文件中只能有一个包语句,它适用于文件中的所有类型。

于 2013-10-03T08:01:51.103 回答