方法的定义
方法: 解决问题的一种方案,他是有很多条java语句组成的
方法的格式:
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
修饰符: public
返回值类型: 本质就是数据类型
方法名: 方法的名字(命名规范和变量的一样) 小驼峰
参数类型: 本质就是数据类型
参数名: 本质就是变量名
方法体: 就是一些java语句
return: 关键字,结束方法,一般用在返回值前面
返回值: 方法执行完以后,得到的结果。
注意事项:
- 返回值类型:跟返回值有关系;如果没有返回值,那么返回值类型就是void,然后也不用写return
- 参数类型: 跟参数有关系
- 定义方法,其实就是在定义规则。这个在方法调用的时候很关键。`
4种方法
- 无参无返回值
public void say(){
System.out.println("hello");
}
- 无参有返回值,如果方法有返回值,那么这个方法调用的时候,就会有一个结果。这个结果可以赋值给一个变量
public String grilFriend(){
return "小马哥";
}
- 有参无返回值
public void showFriend(String name){
System.out.println("老马的对象是:"+name);
}
- 有参有返回值
public int add(int a,int b){
int c = a + b;
return c;
}
方法的调用
- 方法想要执行,必须要调用
- 方法是谁执行的?方法是对象执行的
- 对象是哪里来的?对象是new出来的, new+方法所在的类名(); new + 构造方法()
- 对象调用方法: 对象.方法名(参数)
- 方执行的本质就是: 方法里的代码跑了一边。方法每被调用一次, 方法里的代码就执行一次。
基本数据类型与引用数据类型作为参数的区别
-
如果基本数据类型作为方法的参数:其实就是将基本数据类型的值,拷贝了一份副本给了方法,方法中对这个副本的修改,不会影响到原来的值
-
如果引用数据类型作为方法的参数:其实就是将引用数据类型的地址,拷贝了一份副本给了方法,方法中对这个副本的修改,会影响到原来的值
构造方法
构造方法的格式:
访问修饰符 构造方法名 ( ) {
//初始化代码
}
构造方法:
* 创建对象 new + 构造方法
* 初始化成员变量(给成员变量赋值)
构造方法重载
构造方法也可以重载
方法重载:
* 同一个类中
* 方法名相同
* 参数列表不同(参数个数不一样,参数的类型不一样)
* 与修饰符和返回值无关
成员变量与局部变量
成员变量:不在方法里的变量就是成员变量
局部变量:在方法里面的变量就是局部变量(包含参数上的变量)
成员变量和局部变量的区别:
- 成员变量定义在类中,整个类中都可以访问
- 局部变量定义在方法中,只能在方法中使用
- 成员变量可以不给初始值,因为有默认值,局部变量必须有初始值否则报错(除了参数)
- 如果成员变量和局部变量名字一样:成员变量前面可以加this,this代表当前对象
- 我们在方法里面使用变量的时候,如果方法里面有,就用自己的,如果没有就用成员变量的,如果成员变量没有,就报错
public class Demo {
public int a; // 成员变量
public int add(int a,int b){ // a,b都是局部变量
int d =100; // d是局部变量
int c = a + b; // c是局部变量
return d;
}
}