【问题标题】:Importing a Java custom class into another program将 Java 自定义类导入另一个程序
【发布时间】:2016-04-22 08:53:12
【问题描述】:

我是一年级 comp sci 学生,正在经历第一轮教科书问题,所有问题都处理 System.out.println 方法(不,我不是在寻求家庭作业问题的帮助。我很满意(到目前为止正如我现在所知道的)问题的要求,我只是想获得一些额外的信息)。

第一个问题要求我编写一个程序来输出这个:

//////////////////////
|| Victory is mine! ||
\\\\\\\\\\\\\\\\\\\\\\

这没问题。我写了以下代码:`

public class Stewie {
public static void main(String[] args) {
  line();
  qoute();
  line2();
}

public static void line() {
System.out.println("//////////////////////");
}
public static void qoute() {
System.out.println("|| Victory is mine! ||");
}
public static void line2() {
System.out.println("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\");
}
}`

在正文的后面,它要求我编写一个程序,将上图连续打印 5 次。这也不是问题,我只是重写了第一个问题的代码,像这样:

/*

*/

public class Stewie2 {
public static void main(String[] args){
  newStewie();
  newStewie();
  newStewie();
  newStewie();
  newStewie();
  }

public static void newStewie() {
  line();
  qoute();
  line2();
}

public static void line(){
  System.out.println("//////////////////////");
}
public static void qoute(){
  System.out.println("|| Victory is mine! ||");
}
public static void line2() {
  System.out.println("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\");
}
}        

这一切都很好,但是我想知道如何从第一个问题中导入 Stewie 类,这样我就可以在第二个问题中使用它,而无需重写所有代码。谁能帮帮我??

edit:re:导入自定义 java 类。我在发帖之前看到了这个,但可能对编程知之甚少,因此目前对我有帮助。不过还是谢谢你。

【问题讨论】:

  • 假设 Stewie 和 Stewie2 在同一个包中,您只需键入 Stewie.line();从 Stewie 类调用 line 函数,因为 line 是静态声明的。
  • 我已经尝试(诚然,非常半途而废)弄清楚一个包是什么/如何设置一个包,但没有多大意义。
  • 我假设它们在同一个包中,因为默认情况下,您在一个项目中创建的每个类都在同一个包中。它没有什么复杂的,你可以想象像文件夹这样的包。所以 Stewie.line();应该工作。

标签: java import


【解决方案1】:

看看如何创建和使用packages

因为您在第一个类中的方法是静态声明的,所以您可以在第二个类中调用它们。

package mypackage;
public class Stewie 
{
  public static void main(String[] args) 
  {
    line();
    qoute();
    line2();
  }

  public static void line() 
  {
    System.out.println("//////////////////////");
  }

  public static void qoute() 
  {
    System.out.println("|| Victory is mine! ||");
  }

  public static void line2() 
  {
    System.out.println("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\");
  }
}

seconds 类也应该在同一个包中。然后,由于您在第一个类中声明的方法是静态的,您可以直接将它们调用到您的第二个类中。

package mypackage;
public class Stewie2 
{
  public static void main(String[] args)
  {
    Stewie.line();
    Stewie.qoute();
    Stewie.line2();
  }
}

现在在您的第二堂课中,您可以使用更多功能扩展您的代码。

注意:如前所述,这是允许的,因为您的方法是静态的。

如果你的方法,下面不是静态的:

public void qoute() 
{
   System.out.println("|| Victory is mine! ||");
}

您将收到以下错误消息:

不能从静态上下文中引用非静态方法“qoute()”。

所以要小心并注意difference

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 2022-12-09
    • 2015-08-15
    相关资源
    最近更新 更多