package Static.non;
public class Add {
public int add(int a,int b){//这里是非static
return a+b;
}
public static int fact (int a){//这里是static
if(a==1){
return 1;
} else {
return a*fact(a-1);
}
}
public static void main(String[] args) {
Add a = new Add();
int b = new Add().add(1,3);
System.out.println(a.add(2,4)+" "+b);
//上面的调用方法,我们先创建一个实例(对象)(就是new Add()),然后通过实例(对象)的方法来处理该实例的数据,在这里体现为我调用add()方法
System.out.println(Add.fact(5));
//这个调用方法,我们直接使用类名Add()(文件名)来调用方法fact(a,b);就行了
}
}
上面这段代码其实解决了一个问题,就是说你如果使用静态的方法去调用非静态的方法的话它会报错的,解决办法是什么呢(你可以按住alt键加回车键,这个快捷键会帮你找到错误并且为你提供修改建议)?
1.你可以在方法add前加上static将这个方法也变成静态方法,然后加上static的方法是不是就变成了fact这个方法了,接着使用类名(文件名)调用是不是就行了
2.你也可以通过new一个新的实例对象,然后通过对实例对象进行操作来处理数据,就是这段 代码:
Add a = new Add();
int b = new Add().add(1,3);
System.out.println(a.add(2,4)+" "+b);
这两种方法都是比较好用的。
到这里就结束啦!!!
欢迎小伙伴们评论区讨论,提问。
我是荒古前,期待你的关注~~~
~~~完结撒花✌y( •̀ ω •́ )y✌~~~
标签:Java,静态,add,int,Add,static,与非,new,fact From: https://blog.csdn.net/x3477144355/article/details/144824928