如何在一个java主类中引用另一个类的方法?代码如下:

import java.util.Scanner;
import java.*;
public class Max2{
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
max m=new max();
int a=scanner.nextInt();
int b=scanner.nextInt();
m.max1();
}
}

这个是要引用到上面主类中的类:
package java;
public class max{
public static void max1(int a,int b){

if(a>b)
System.out.println(a);
}
}

运行结果是无法访问max
错误的类文件: .\max.java。
是代码出错了还是哪里的错,该怎么改正?

有两种可能,第一种是你把这两个类放在了不同的包中,
我直接赋值粘贴你的代码新建了一个包test2,创建了这两个类,记得把你的m.max1(a,b);参数加上,(并且输入的时候注意先输入大的数字,比如3,2就会输出3,因为你的代码如果输入2,3则没有任何显示)
以下是可行的:
package test2;
public class max{
public static void max1(int a,int b){
if(a>b)
System.out.println(a);

}
}

//注意在同一个包中创建
package test2;
import java.util.Scanner;
public class Max2 {
public static void main(String arg[]) {
Scanner scanner = new Scanner(System.in);
max m = new max();
int a = scanner.nextInt();
int b = scanner.nextInt();
m.max1(a,b);
}
}

如果你不想在同一个包中创建,那就加一个语句,比如你的max类写在Package test1中,那就加这句import test1.max;
代码如下:
package test2;
import test1.max;//在这里加入了引入包
import java.util.Scanner;
public class Max2 {
public static void main(String arg[]) {
Scanner scanner = new Scanner(System.in);
max m = new max();
int a = scanner.nextInt();
int b = scanner.nextInt();
m.max1(a,b);
}
}

第二种情况是:你的确是在同一个包中创建了还是不行,那估计是因为你的包里面还有别的很多class,相互影响了,试试新建一个工程,新建一个包,应该可以解决
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-04
方法为什么定义成static的呢,这样的话不用new直接用max调用就行啊 ,调用时没参数,不报错啊,还想编译追问

加入参数依然报错

第2个回答  2012-05-04
静态方法不用创建实例,直接max.max1(a,b);调用就可以了。追问

按您的方法试了一下,还是不行

第3个回答  2012-05-04
Max2中调用max的静态方法max1没传递参数,应该是编译都会报错的追问

加入参数后还是一样的错误提示

追答

什么错误?

追问

提示无法访问max类

追答

Max2中没有导入max的包吧
import 包名.java......max;

第4个回答  推荐于2017-10-06
正解:
import java.util.Scanner;
import java.*;
public class Max2{
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
max m=new max();
int a=scanner.nextInt();
int b=scanner.nextInt();
m.max1(a,b);
}
}追问

不行,加入参数后依然是那个错误提示

追答

public class 后面的名字一定要和你java文件名字同名(去除后面的 .java 后缀)

追问

这是当然

追答

两个类不能写在同一页面上,我试了能够运行

追问

我的就是分开写在两个文件的,max已经编译出class文件了,只是Max2编译不通过,还是提示无法访问max类,加入参数后还是一样的。

本回答被网友采纳

如何在一个java主类中引用另一个类的方法?代码如下:
int b = scanner.nextInt();m.max1(a,b);} } 如果你不想在同一个包中创建,那就加一个语句,比如你的max类写在Package test1中,那就加这句import test1.max;代码如下:package test2;import test1.max;\/\/在这里加入了引入包 import java.util.Scanner;public class Max2 { public static ...

Java中主类中如何调用其他类的方法呢?如下程序:
假如你有另外一个类 Test, 那么你要在CeShi里新建一个test类实例,然后call这个方法 Test t = new Test();t.fun(xx); \/\/ 此时这个方法不需要static 你可以用匿名类 直接在Ceshi类里输入 new Test().fun(xx);public class CeShi{ public static void main(String args[]){ int array[]={...

java一个类怎么调用另外一个类的主方法
1、与一般调用没什么差别,直接new 出来另一个类的对象,调用方法即可。B里面代码 public class B {public static void main (String args[]) {System.out.println("this is B");} } A里面代码 public static void main(String args[]){ B b=new B(); b.main(args);}运行A效果:...

java函数调用(在一个类中怎么调用另一个类的变量和函数)
import java.util.Scanner;public class Student {\/\/ 带有主函数的类,Score类在下面 String name;Score score = new Score();\/\/ 此句有重大嫌疑 nested class object as an attribute, no mistake here!public String introduce() { return (name + "\\t" + score.java + "\\t" + score.db...

java如何调用另个程序的main函数
1、类名.main(参数);2、new创建实例,实例.main(参数);这个地方注意必须传递字符串数组的参数 或者 null !另外举一个用反射机制调用Main方法的例子。这个类是被调用的main方法类:Java代码:public class Run { public static void main(String[] args){ String str=args[0]+"Hello World";System...

java中如何调用其他java文件中的方法
你所说的java文件是什么文件?如果是java源码文件是不能调用的,但如果是编译后的class文件可以通过类加载器进行加载,然后通过反射调用;但一般会通过实现特定的接口来简化调用过程。一个自定义的类加载器如下 :class MyClassLoader extends ClassLoader { \/\/类加载器的名称 private String name; ...

java Main函数怎么调用其他函数。 其他类。
你的代码完全修改后如下,因为你需要的是得到括号数,所以将你的原有方法改成一个返回int值得方法。public class java { public static int getInt()\/\/ 原来是 public void getInt() ,修改后增加了static修饰, int替换了void { String strChar="a(bc)()()dnn()()j";int iX=0;int iY=0;f...

关于java编程的问题:一个类调用另一个类中构造方法中所定义的参数。
关于Java中构造方法的问题 可以,一般都用,单例用private java中一个类想调用另一个类中定义的面板怎么调用 将主面板传递给一个类,在这个类中将主面板上的将你想要的面板一层一层剥下来,并获得它,然后在你想要的面板上做操作。注意:主面板上放的是一个ponent数组 在类中的构造方法修改一变量,...

java 如何在一个类获取另一个类的信息 例如我要在另外一个界面要获取...
是b\/s的吗?要是通过表的关联查询到你需要的信息,用session.setAtribute放进去 ,用的时候再从session里取就行了

我用Java写了两个类,准备在一个类中使用另一个类,要怎样导入这个“另一...
如果两个类在一个包(package)下直接new,否则就要先引入另一个类所在的包(package)之后再new

相似回答