Java基础语法易犯错误(2)

来源:互联网 发布:飞利浦剃须刀淘宝店 编辑:程序博客网 时间:2024/06/04 21:43

六、函数

   函数是在面向过程的那些编程语言里顶梁柱一般的存在,在Java面向对象的思想里,虽然比对象的层次低一点,但仍及其重要。

1.函数定义格式

  修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)

{

执行语句;

return 返回值;

}

关于其格式,有几个注意点

⑴修饰符:有public、protect、private和static及默认不写等,修饰符影响到函数的权限范围,要注意函数的定义位置和应用范围,选择合适的修饰符。

⑵返回值类型:不仅限于基本数据类型,也可以是数组、类等引用数据类型。要确保return后的返回值同函数定义的返回值类型是一致的。

特别的,当返回值类型为void时,return可省略不写。不为void时,一定要有return返回值。

⑶参数:第一个注意点是参数是有顺序的;第二个是当用可变参数时,要有3个点,,也必须是3个,而不是2个,更不是4个,例如int... arr。

⑷执行语句里可以调用其他函数,但不能定义函数。

2.函数的重载

  在同一个类中,允许存在一个以上的同名函数,但要满足他们的参数是不同的,不必满足返回值类型相同。

这里参数的不同,不仅包括参数个数和参数类型,也包括参数顺序,不包括参数名。仔细想想就知道,参数名只是变量名,可以随便写。也因此当两个同名函数的各自的两个参数的类型相同时,会被编译认为是同一个函数(虽然我们知道两个函数的执行代码可能是不一样的,但编译器不会去看代码),不能实现重载。

例如:voidfun(int a,int b){} 和 char fun(int c,int d){}不能实现重载,编译时认为是一个函数。

3.主函数

  即main()函数。可以认为是最特别的一个函数,是程序的入口。

格式为:public static void main(String[] args){}

  ⑴这是唯一被JVM识别的主函数格式,这个格式里面唯一可以变化的是参数的变量名。这句话另一个意思是说:主函数也是允许有函数重载的,但JVM不识别其他格式。

⑵此格式里的参数是一个字符串数组,虽然我们自己编程时很少传参数给主函数,但确实是可以利用的。

  ⑶ public意味着该函数的访问权限是最大的(很多函数都可以是public.)。

要特别注意的是static,代表主函数是静态函数,随类的加载就已经存在在方法区了。同时,也说明在主函数里是不能调用非静态成员的,如果想在主函数里调用,就必须设置成静态的。这点在编程时经常出问题,要特别注意。

0 0
原创粉丝点击