函数是定义在类中的一段独立的代码块,用来实现某个功能,函数的主要作用是为了提高代码的复用性。那java函数调用的三种方式是什么下面来我们就来给大家讲解一下java函数调用方法。
第一种: 函数立即调用执行模式。这里面的this指向window;
function add(a, b) { console.log(this); return a + b; } add(); //this === window //true
第二种:通过构造函数创建对象,然后调用自己的方法;这里的this指向对象本身;也可说是函数的调用者;
<script> function fun(){ this.show=function(){ console.log(this); } } var f=new fun(); f.show();//f对象;</script>
第三种:通过构造器调用函数:this指向构造出来的对象;
<script> function Cat(){ console.log(this); } Cat.prototype.show=function(){ console.log(this); } var t=new Cat();//cat{};//通过构造函数创建的对象,相当于直接调用函数,没有返回值的情况下,得到的是cat本身; t.show();//cat{}对象; console.log(t==this);//false; Cat.prototype.show();//show{}; Cat();//直接调用window </script>
一:主类中自定义函数
在主类中,如果想要在main函数中调用自定义的其他方法,则这个函数需要使用static关键字定义,否则会报错Cannot make a static reference to the non-static method xx from the type xx,调用的时候直接用函数名就可以了,如下:
public class create_function { public static void main(String[] args) { int s = jia(5, 4); System.out.println(s); } static int jia(int a, int b) { System.out.println("我是自定义相加函数,我被调用了!!"); return a + b; } }
下面使用static关键字定义了一个“+”运算的函数,在main中调用时,直接使用函数名,括号中加参数就可以了。输出结果如下:
我是自定义相加函数,我被调用了!! 9
二:自定义类中函数的调用
自定义类中函数的调用有两种情况,静态函数和非静态函数,非静态函数的调用需要先声明一个类实例,通过实例调用。静态函数的调用可以通过实例,也可以直接使用类名调用(建议使用这种,要不会造成内存空间的浪费。),如下:
public class create_function { public static void main(String[] args) { Y y = new Y(); int s2 = y.cheng(3, 5); System.out.println(s2); int s3 = Y.chu(8, 2); System.out.println(s3); } } class Y { int cheng(int a, int b) { System.out.println("我是自定义类中的乘方法,我被调用了!"); return a * b; } static int chu(int c, int d) { System.out.println("我是自定义类中的除方法,我被调用了!"); return c / d; } }
在下面,自定义了一个Y类,cheng方法是非静态方法,必须通过实例y调用,chu方法是静态方法,使用类名直接调用。输出结果如下:
我是自定义类中的乘方法,我被调用了! 15 我是自定义类中的除方法,我被调用了! 4
这就是java函数调用的三种方法,大家可以根据需求选择一种进行使用,java函数主要就是为了提高代码的复用性,因此java函数的使用还是很重要的!最后大家如果想要了解更多初识java知识,敬请关注赋能网。