Java方法
Java方法
- System.out.println();
类(系统类)对象(输出对象)方法
调用系统类(System)里面的 标准输出对象out 中的方法(这个方法是println()方法)
-
方法是语句的集合,它们在一起执行一个功能(功能块)。命名规则:首字母小写+驼峰
-
方法在程序中被创建,在其它地方被调用
-
方法包含于类或对象中
-
设计方法的原则:一个方法只完成一个功能 (方法的原子性)
-
Java的方法类似于其它语言的函数,用来完成特定功能的代码片段
-
修饰符是可选的,参数是可选的,方法可以不包含任何参数
-
形参(定义作用) 实参(实际调用传递的参数)
-
如果方法返回的是void,方法调用一定是一条语句 可以直接输出的
-
如果方法返回的是一个值,方法调用通常被当做一个值
-
返回值类型为int 不能直接调用,输出的是return的东西。要先赋值给新变量,后打印输出
返回值类型为void 所以直接调用就行。
语法
修饰符 返回值类型 方法名(参数类型 参数名,参数类型 参数名){
...
方法体
...
return 返回值; //如果返回值类型为void 就不用写return
}
一般return写在最下边,所以可以另外定义一个变量,把结果赋值给这个变量,最后return返回这个变量
return 写在最下面 它之后的语句无法访问到
方法的重载
-
在一个类中,有相同的函数名称,但是函数的形参不同。(多个函数名称可以相同,但是参数不能完全相同(参数的个数不同、类型不同、排列顺序不同等))
-
“Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法”
-
重载规则:方法名称必须相同,参数列表必须不同
-
方法的返回类型可以同也可不同
-
仅仅返回类型不同 不足以成为方法的重载(重载与返回类型无关??)
-
看参数
实现理论:编译器会根据调用方法的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器会报错。
命令行传参(很少用)
可变参数
一个方法中只能指定一个可变参数,且必须是方法的最后一个参数。其它普通参数需要在它之前声明
在指定参数类型后面加省略号(...)
public class Demo04 {
public static void main(String[] args){
System.out.println("Hello World !");
//test();
Demo04 demo04 = new Demo04();
demo04.test(6,1,2,3);
}
//可变参数
public void test(int a,int... i){
System.out.println(a);
System.out.println(i);
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
}
}
递归(重点难点面试)
A方法调用A方法,自己调用自己‘
用简单的程序来解决一些复杂的问题
递归结构有两部分
递归头:什么时候不调用自身方法,如果没有头,将死循环
递归体:什么时候需要调用自身方法
能不用递归就不用递归,某些时候大量计算时,递归占用大量资源