- Java和C语言一样,除了系统预定义的方法之外,用户还可以自己定义方法;
- 如果方法返回的是void类型的值,那么对方法的调用必须是一条语句,而不能是赋值语句;
- Java中一个类会有许多个方法,其中会有一个main方法,main方法和其他方法的区别在于它是由java虚拟机调用的,main方法的方法头永远都是一样的:修饰符public static,返回值类型void,方法名main,参数为String []. 完整,的代码为:public static void main (String [] args){...}. main中的语句可以调用main方法所在类中定义的其他方法,也可以调用别的类中定义的方法。在调用的时候也不需要声明。方法能够带来代码的共享和重用,如果创建了一个新类,那么可以通过"类名.方法名"例如:TestMain.max来调用TestMain类中的方法max。
- 该书中大部分方法在定义的时候的模式都是:public static 返回值类型 方法名 (参数表){...}。 一般main方法在前面,其余的方法在后面,在这种情况下,main方法经常会调用到后面定义的方法,但是main方法前面不需要声明其余方法。
- 对于方法的参数值传递,实参必须和方法中的形参在次序和数量上匹配,在类型上兼容(这里的兼容必须是不需要经过显式类型转换的,例如将int实参传递给double类型就不需要显式类型转换的);
- 方法的重载:方法名相同,但是参数表不同。而Java编译器通过方法的参数表来决定到底使用哪个方法。例如同样都是求max的方法,三个方法的方法名都是max,但是参数表可以是两个int类型,也可以是两个double类型,更可以是三个double类型。而在调用它们的时候,用户只需要在实参表中显示出参数的不同即可,方法名都可以使用max。Java编译器在调用方法的时候寻找的是最精确的匹配方法;
- 被重载的方法必须具有不同的参数列表,不能基于不同修饰符或者返回值类型来重载方法。
- 要避免产生歧义调用,即存在两个方法都可以被调用,此时Java会出现编译错误。例如:max (int num1, double num2) 和max (double num1, int num2);
- 在方法中定义的变量是局部变量。局部变量的作用域是从声明变量的地方开始,到包含该变量的语句块结束。我们可以在一个方法中的不同块里申明同名的俄局部变量,但是不能在嵌套块中或同一个块中两次声明一个局部变量。
- Math类中有两个很有用的double类型常量:Math.PI和Math.E;
- a + Math.random()* b返回一个a~a+b之间的随机整数,但不包括a+b;
- 在这一章节中,类的方法在定义的时候修饰符均为:public static 返回值类型 方法名 (参数表);