我已经开始学习Java了,我试图在netbeans IDE中使用导入和继承。
在netbeans中,我创建了一个项目和两个文件夹'food'和'food1'。
食物中有Fruit.java,food1有Apple.java。
这是正常运行的代码。
Fruit.java
package food;
public abstract class Fruit{
}
Apple.java
package food1;
import food.Fruit;
class Apple extends Fruit{
}
问题: 1.如果我没有宣布包裹(包装食品和包装食品1),它就不起作用了。但我已经手动将它们放在文件夹中。 2.如果我删除了import语句,它就不起作用了。但是阶级成果已经公开宣布。
答案 0 :(得分:1)
您的问题描述是正确的 - 意味着,它按预期工作:
- 如果我没有声明包裹(
醇>package food
和package food1
),那么它就无效了
是的,目录结构必须与包名一致。如果你的目录结构是
src
+--food
| +--Fruit.java
+--food1
+--Apple.java
然后Fruit.java
需要package food
语句,Apple.java
需要package food1
语句。
- 如果我删除了import语句,它就无效了。但是阶级水果已经公开宣布。
醇>
是的,如果你想使用不同包中的类,你必须导入它(或使用包含包名的完全限定类名,如...... extends food.Fruit
- 通常的方法是导入,但是)。声明类public
是不够的 - 它只是定义了从包外部使用的可以类,但您仍然需要导入它。
另见