从另一个“类接口或enum expected”使用一个包时出错

package students; import java.util.*; public class p1 { private int n1 = 2; int n2 = 3; protected int n3 = 5; public int n4 = 7; } package students1; class abc extends students.p1 { public static void main( String args[]) { abc obj = new abc(); System.out.println(obj.n4); System.out.println(obj.n3); } } 

这是我的代码,但是它给出了在package语句中预期的错误类接口或枚举

这些必须在单独的文件中。 一个名为p1.java,另一个名为abc.java, abc应该是公共类。

作为旁注,最好使用大写字母来启动类型名称,因此您应该有两个类: P1.javaAbc.java ,而不是p1.javaabc.java

每个文件只能有一个package ,它必须与文件所在的文件夹名称匹配,并且位于第一行。 因此,您必须将其拆分为两个文件,一个在students文件夹中命名为p1.java ,另一个在p1.java文件夹中命名为abc.java 。 然后该类具有与文件相同的名称(没有.java)并且必须是public

另请注意,您必须更改类p1中的变量名称,它们不能以数字开头。

使用大写字母(如Abc启动类名也是一种好习惯。

这个:

 packagae students; 

应该:

 package students; 

请注意,第一个示例包含拼写错误(更准确地说是ge之间的a )。