我创建了一个名为 mypack 的目录,并在该目录中添加了一个名为 A.java 的Java文件。 A.java 的代码如下:
package mypack;
public class A{
public A(){
System.out.println("Inside A");
}
}
我在名为 Demo.java 的同一目录中添加了另一个文件。该文件的代码如下:
package mypack;
public class Demo {
public static void main(String args[]) {
A a = new A();
}
}
问题是当我编译第二个文件 Demo.java 时我得到错误:找不到符号A
目录 mypack 如下所示:
我不知道为什么 Demo.java 与A.java相同的包(mypack)的文件无法访问类 A 即使我在 A.java 中宣布它是公开的。 请有人帮忙!!
答案 0 :(得分:0)
也许你可以使用
javac *.java
一次编译两个java源文件。
答案 1 :(得分:0)
要编译文件,请打开终端并输入
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *selectedText = titleArray[indexPath.row];
if [self.delegate respondsToSelector:@selector(passData:)]) {
[self.delegate passData:"hello"];
}
[self.navigationController popViewControllerAnimated:YES];
}
**in ViewControllerA**
#import "ViewControllerA.h"
#import "ViewControllerB.h"
@interface ViewControllerA () <DataDelegate>
@property (strong, nonatomic) ViewControllerB *viewControllerB;
@end
@implementation ViewControllerA
- (void)viewDidLoad {
_viewControllerB.delegate = self;
}
- (void)passData:(NSString *)data {
self.textField.text = data
}
要运行生成的类文件,请使用
javac filename.java
答案 2 :(得分:0)
你可以做这样的事情来编译所需的文件,就像你在问题中提到的那样:
javac Demo.java A.java
在这种情况下,这会编译您的类以及依赖项A.java
。
或者您可以执行此类操作,以涵盖目录下的所有.java
个文件。
javac *.java
请参阅this以获取进一步的参考!