方法:有特殊功能的代码集
带参数的方法
定义格式:
public static void 方法名(数据类型1 变量名1,数据类型2 变量名2,…… ){
方法体;
}
- 定义时,数据类型和变量名都不能缺少,缺少一个都会报错
- 多个参数用逗号分隔
- public static 修饰符
调用格式:
方法名(参数);
- 先定义在调用
- 参数的数量和类型必须与定义的一致
- 参数可以是变量值,也可以是常量值
形参和实参
形参:方法定义中的参数(相当于变量的定义格式)
实参:方法调用中的参数(使用的变量或常量)
带返回值的方法
定义格式:
public static 数据类型 方法名(数据类型 变量名,……){
方法体;
return 数据;
}
- 方法定义时,return后面的数据与方法定义上的数据类型一致
调用格式:
格式1:方法名(参数);
格式2:数据类型 变量名=方法名(参数);
- 方法有返回值时,通常会定义一个变量来接收,不然返回值没有意义
方法的注意事项
- 方法不能嵌套定义,可以在方法中调用另一个方法
- void表示无返回值,不写return或者return后不加数据
- return表示方法的结束,下方的语句将不再运行
方法的通用格式
修饰符 返回值类型 方法名( 参数 ){
方法体;
return 数据;
}
返回值类型: return的数值的数据类型,void则无返回值,也不用写return
方法名: 调用方法的标识
参数: 由变量类型和变量名组成,多个参数用逗号隔开
方法体: 完成特殊功能的代码块
return: 返回数据
方法重载
方法重载指同一个类中定义的多个方法之间的关系
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法参数不同(参数的类型不同或参数的数量不同或参数的顺序不同)
注意:1)方法的重载与返回值无关
2)调用时,Java虚拟机会通过参数的不同来区分同名的方法
方法的参数传递
- 对于基本数据类型的参数,形参的改变,不影响实参的值
(形参:方法定义时的参数,实参:方法调用时的参数,有实际的值)
- 对于引用类型的参数(地址),形参的改变,会影响实参的值
(数组便是引用类型,数组名是一个地址,形参也会找到堆内存中改变数据,从而改变实参的值
只要是new出来的东西,都会在堆内存中存放数据,引用时都会改变实参的值)
成员变量和局部变量的区别
区别 成员变量 局部变量
类中位置不同 类中方法外 方法内或方法声明上
内存中位置不同 堆内存中 栈内存
生命周期不同 随对象存在而存在, 随方法调用而存在,
随对象消失而消失 方法用完就消失
初始化值不同 有默认的初始化值 没有默认的初始化值,
先定义赋值,才能使用
this
this指当前对象
构造方法
作用是创建对象(对象初始化)
默认:public 类名() //注意格式,没有返回值类型,与成员方法不同
重载:public 类名(参数列表){ //可以在对象初始化的同时进行属性赋值
//方法体
}
一旦有有参构造,系统不在默认提供无参构造