【问题标题】:How to handle class's from Two Different .Java Files?如何处理来自两个不同 .Java 文件的类?
【发布时间】:2015-07-15 09:42:01
【问题描述】:

我的项目中有两个 java 类文件。

第一个是main.Java 第二个是function.java

如何从 main.java 调用 function.java 方法

例如。

main.Java

public class main {

//call function here
}

函数.Java

public class function {    

public void example(){

   System.out.println("Function working");
}

}

如何从 Main.Java 调用 function.java 示例方法?

【问题讨论】:

  • 所以你有两个public class function {} 保存为main.java 和function.java?我不认为这就是 Java 的工作原理..
  • 首先你的代码不会编译。公共类名和 java 文件名不能不同。

标签: java android function class call


【解决方案1】:

类名应始终以大写字母开头。

这是在另一个 .java 中调用另一个类中的函数的方法
在 Main.java 中

public class Main{
    public static void main(String[] args){
        SecondClass sc = new SecondClass();
        sc.go();
    }
}

在 SecondClass.java 中

public class SecondClass{
    public void go(){
        System.out.println("Done");
    }
}

如果要在同一个类中调用方法

    public class Main{
        public void go(){
            System.out.println("Done");
        }
        public static void main(String[] args){
            Main m = new Main();
            m.go();
        }
    }

或者这个

public class Main{
    public static void go(){
        System.out.println("Done");
    }
    public static void main(String[] args){
        go();
    }
}

【讨论】:

    【解决方案2】:

    首先将 example() 方法设为静态

    public static void example(){
    System.out.println("Function working");
    }
    

    然后调用

    public class main {
    
    //call function here
    public static void main(String[] args) {
        function.example();
    }
    }
    

    【讨论】:

      【解决方案3】:

      如果它们不在同一个包中,你应该像这样在 main.java 中导入 function.java

      import function
      

      那么你应该在你想使用它的地方创建一个这样的函数类的实例

      function func = new function(); 
      

      然后你可以使用你这样创建的 func 对象调用示例方法

      func.example();
      

      【讨论】:

        【解决方案4】:

        您的方法不是静态的,因此您需要从此类(函数)实例化对象以获得对示例方法的访问权限。首先阅读一些Java特定的书,这样你就可以了解什么是静态关键字以及如何使用它。

        【讨论】:

          【解决方案5】:

          下面的代码将起作用:

          package main.Java; //this is from where you want to call.
          
          public class function {
              public void inFunction(){
                  function.Java.function function = new function.Java.function();
                  function.example();
              }
          }
          

          学习愉快:)

          【讨论】:

          • @sabish 为什么这被接受为答案?这不是你要求的。
          • @Rajesh 他想在不同的 pkg 中调用函数......所以这有帮助吗?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-18
          相关资源
          最近更新 更多