2008-10-21 55 views
2

在Ruby中,我经常写许多小类,并且有一个主要类组织小家伙完成工作。我通过书写如何在Java中“需要”邻居类?

require "converter.rb" 
require "screenFixer.rb" 
. 
. 
. 

位于主类的顶部。我如何在Java中做到这一点?它是“进口”吗?

此外,有人可以为这个问题提出一个更好的标题?

回答

6

如果你的意思是你要写一些代码将使用另一个类。是的,您需要使用导入语句导入这些类。

package com.boo; 

import com.foo.Bar; 

public class StackOverflow { 

private Bar myBar; 

} 
+0

你回答了quatsion!如果辅助类与Facade类位于同一个包中,我只能说私人bar myBar;我给我一个新酒吧? – Ziggy 2008-10-21 07:48:14

0

你不导入你自己在Java * .java文件。相反,你这样做。

javac file1.java file2.java file3.java 
java file1 
1

如果这些其他类只是要你的“主”类中使用,有几个选项要考虑不要求任何进口:

  • 你可以让他们你的主类中的私有静态嵌套类。
  • 你可以让他们“包访问”(默认 - 没有访问修饰符)

如果他们是公共类的其他地方,但是,你的确会需要进口(或完全限定它们无处不在,但那太糟了)。

1

你应该真的读一点关于面向对象的编程。

你不组织小家伙做大做工。

类包含一些数据并提供方法来以有意义的方式操纵数据。数据通常是其他类的变量,你必须声明你从哪里得到这些。您通过指定import语句来执行此声明。

BTW你应该明确地创建一个类的实例来使用它,即调用类的构造方法

package com.foo; 
import com.foo.Bar; 

public class StackOverflow { 

private Bar myBar; 
    public StackOverflow() { //this is a constructor of StackOverflow class 
     myBar = new Bar(); //i'm invoking constructor of Bar class 
    } 
} 
1

如果你写的类都在同一个包你不需要做任何特殊使用它们。如果A类想要B类的服务,那么在A类中,你可以实例化一个B的对象并调用你想要的B的方法。

如果类在不同的包然而,或者如果您正在使用第三方类,那么你就需要一个import语句

import package.ClasName; 

在你提到的类文件的顶部。