如何在cmd行中运行java类文件

如何在cmd行中运行java类文件,java,compilation,command,javac,Java,Compilation,Command,Javac,我的两门课是这样的: package p; class A{ public static void main(String[] args){ B b = new B("haha"); b.run(); //System.out.println("he"); } } 及 我无法使用javac a.java b.java编译这两个文件,错误是: a、 java:4:找不到符号 符号:B类 地点:p.A级 B=新的B(“哈哈”) ^ a、 java:4:找不到符号 符

我的两门课是这样的:

package p;
class A{
  public static void main(String[] args){
    B b = new B("haha");
    b.run();
    //System.out.println("he");
  }
}

我无法使用
javac a.java b.java
编译这两个文件,错误是:

a、 java:4:找不到符号
符号:B类 地点:p.A级
B=新的B(“哈哈”)
^
a、 java:4:找不到符号
符号:B类
地点:p.A级
B=新的B(“哈哈”)
^
2个错误

移除
包装p后
javaca.javab.java
运行良好

那么,如何使用
包p编译和运行类A

=======编辑===========
感谢您的回复,最后我通过如下更改文件来运行我的类:

package p;
class A{
  public static void main(String[] args){
    B b = new B("haha");
    b.run();
    //System.out.println("he");
  }
}
.
├── b
│   ├── B.class
│   └── B.java
└── p
├── A.class
└── a、 爪哇

和a.java:

package p;

import b.B;

class A{
  public static void main(String[] args){
    B b = new B("haha");
    b.run();
    //System.out.println("he");
  }
}
B.java:

package b;
public class B{
  String s;
  public B(String s){
    this.s = s;
  }

  public void run(){
    System.out.println(s);
  }
}
需要注意的事项:

  • B类必须是公共的
  • 在A类中尝试使用B时应导入B

将此行添加到您的A类代码中:

import b.B;

它应该是包声明之后的下一行代码。

将这一行添加到您的A类代码中:

import b.B;

它应该是包声明之后的下一行代码。

您需要导入类型

import b.B;
在执行java类时

转到目录a

java a.A


您需要导入类型

import b.B;
在执行java类时

转到目录a

java a.A


通过导入b.b


或者将两个文件放在同一个文件夹(p)中,并删除
包b表单类
B
它将被编译。

通过
导入B.B导入其他类


或者将两个文件放在同一个文件夹(p)中,并删除
包b表单类
B
它将被编译。

下面的代码将起作用

//B.java

package b;

public class B{

  String s;

  public B(String s){

   this.s = s;

  }

  public void run(){
    System.out.println(s);
  }
}


//A.java

package p;

import b.B;

class A{

  public static void main(String[] args){

B b = new B("haha");

b.run();

  }

}

运行“javap.A”

下面的代码可以工作

//B.java

package b;

public class B{

  String s;

  public B(String s){

   this.s = s;

  }

  public void run(){
    System.out.println(s);
  }
}


//A.java

package p;

import b.B;

class A{

  public static void main(String[] args){

B b = new B("haha");

b.run();

  }

}

运行“java p.A”

是否在类A中导入了包b?是否在类A中导入了包b?