我是Java的新手,我无法直截了当。我有E:\ Java \ ACP \ Cricket \目录,其中有一个Main.java,Player.java和CricPlayer.java。现在我将Player
类继承到CricPlayer
。
我有Main.Java为
import Java.ACP.Cricket.*;
public class Main
{
public static void main(String[] args)
{
System.out.println("Hello.");
}
}
CricPlayer.java As ...
import Java.ACP.Cricket
public class CricPlayer extends Player
{
}
我需要在Main.java中使用CricPlayer
的对象。正如我之前提到的,我是Java的新手,所以可能会有一些我不知道的明显错误。但问题是我如何创建一个在CricPlayer.java和Main.java中使用的包?因为每次我使用CMD编译代码时都会显示“CricPlayer.java:6:error';'期望导入java.ACP.Cricket。*“并指向^到*。我不知道我是否没有正确创建包,或者它是否是一些语法问题。
答案 0 :(得分:0)
在下面的课程中你骂写一个包(文件所在的项目中的文件夹) 例如 打包ACP.Cricket;
答案 1 :(得分:0)
您在CricPlayer类中忘记了导入的;
:
import Java.ACP.Cricket.*;
现在您应该能够在主类中创建CricPlayer对象。
答案 2 :(得分:0)
此外,我不知道您的包名中的“Java”是否应该大写。似乎编译器期望从命名约定中使用小写“J”
答案 3 :(得分:0)
您需要在代码文件的开头添加包声明。如果所有类都驻留在同一个包中,则不需要导入。 BTW,java中的良好编码约定建议包名中的所有字母都是小写的:)
package Java.ACP.Cricket;
public class Main
{
// Your class contents
}
答案 4 :(得分:0)
Vincenzzochi是对的,包是小写的(但它不应该破坏编译)。 并且您需要在所有类的开头声明包: 包java.acp.cricket;
虽然您的所有源文件都在同一个包中,但您不必导入任何内容!
答案 5 :(得分:0)
这是您的程序的替代方案。我已经自己验证了这一点,因此您可以放心,它会起作用。
您需要知道的重要事项是,只有当您拥有该文件的主方法时(即在该类中),才能编译任何文件。所以这里有一个详细的'如何做到':
PlayerDemo.java:
package Java.ACP.Cricket;
class Player{
//class members & methods
}
class PlayerDemo{
public static void main(String[] args){
System.out.println("Player Class");
}
}
CricPlayerDemo.java:
package Java.ACP.Cricket;
class CricPlayer extends Player{
// class members & methods
}
class CricPlayerDemo{
public static void main(String[] args){
System.out.println("CricPlayer Class");
}
}
Main.java:
package Java.ACP.Cricket;
class Main{
public static void main(String[] args){
System.out.println("Main Class");
//use other class objects here directly.
}
}
在E:中,按步骤进行操作:
1> javac PlayerDemo.java (this creates Player.class & PlayerDemo.class)
2> copy Player.class to Cricket folder.
3> javac CricPlayerDemo.java (this creates CricPlayer.class & CricPlayerDemo.class)
4> copy CricPlayer.class to Cricket folder.
5> javac Main.java
6> copy Main.class to Cricket folder.
7> now,also in E:, java Java/ACP/Cricket/Main
不是从E:编译,你也可以从Cricket编译,以避免复制类文件,但它不适用于CricPlayerDemo.java,因为CricPlayer扩展了Player(其位置适用于包)所以你可以必须从E编译CricPlayerDemo: