一、方法
方法概述
方法:是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
A : 方法必须创建才可以使用,该过程称之为(方法定义)
B:方法创建后不能直接运行,需要手动调用,才可以执行,该过程称之为(方法调用)
方法定义和调用
public static void 方法名( ) {
方法体; // 方法所包裹的逻辑代码
}
在mian方法中,通过方法名调用
方法名();
练习
带参方法的定义和调用
public static void 方法名(参数1, 参数2, 参数…){
方法体 ;
}
参数的定义:数据类型 变量名,数据类型 变量名…
注意:方法的参数,可以是一个,也可以是多个,如果是多个,中间需要以逗号分隔
在main方法中,通过方法名调用,并传入对应类型的参数
方法名(参数);
调用带参方法,传入的参数,无论是类型还是数量,都需要跟定义的参数类型匹配
传入的参数可以是变量,也可以是常量
练习
形参和实参
全称叫做形式参数,指的是定义方法的时候,方法小括号中定义的参数
例如:public static void method(int num){}
全程为实际参数,指的是调用方法的时候,传入的具体数值。
例如:method(10);
练习
带返回值方法定义和调用
对应关系,方法的返回值类型,必须跟返回值的类型对应,否则引发编译错误
带有返回值的方法调用之后,会产生一个运算后的结果,这个结果没有接收被使用的话,将 毫无意义。
return关键字用于将方法运算的结果,返还给调用处。
练习1
练习2
方法的注意事项
方法的通用格式
1) public static 代表修饰符
2) 返回值类型跟返回值有关,没有返回值的话写void
3) 方法名:调用方法时的一个标识
4) 参数:由数据类型和变量名组成,多个参数中间使用逗号分隔
5) 方法体:方法中真正执行的代码逻辑
6) return : 方法操作完毕,有数据返回,则 将数据返还给调用者
1) 明确返回值类型:知晓方法运行结束后是否有数据返回,没有写void,有的话则书写具 体类型
2) 明确参数:明确参数的类型和数量
1) void类型的方法,直接调用即可
2)非void类型的方法,推荐使用变量接收调用
方法重载
1)类型不同
2)个数不同
3)顺序不同(毫无意义)
练习1
练习2
方法参数传递基本类型
原因:每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失。
原因:引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的 效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果。
数组遍历
该方法是要完成数组的遍历输出,可是要遍历哪一个数组呢?这就需要调用者将数组的地址 值传过来,才能明确,所以该方法的参数列表,则是一个数组类型。
对于该方法来说,方法体实际就是讲数组中的元素输出在控制台,那么方法内部将可以完成 此功能,不需要返回值,所以,返回值类型为void。
练习
数组最大值
该方法需要从数组中找出最大值,可是在定义方法的时候,要从哪一个数组中找是不明确 的,所以需要调用者将数组的地址值传过来,该方法的参数列表,则是一个数组类型。
该方法的调用者最终需要获取一个最大值的结果,由此推断,该方法要有具体的返回值类 型,从int数组中找最大值,无论哪一个元素是最大值,最终肯定都是int,所以该方法返回值 类型为int。
练习
二、面向对象
类和对象
类是一组具有共同属性和行为的事物的抽象,简单理解,类就是对【事物】的一种【描述】
描述事物,则需要【属性】和【行为】
属性:事物具备的各个特征,例如 -> 手机这个事物的特征(品牌,价格..)
行为:事物能执行的操作,例如 -> (打电话,发短信)
对象代表客观存在的事物
类的定义
1、类的编写步骤
定义类
编写成员变量
编写成员方法
2、成员变量的定义格
【位置发生了变化】在类中方法外
3、成员方法的定义格式
跟之前定义方法的格式相同【static关键字暂时不加】
对象的使用
1、创建对象的格式
格式:类名 对象名 = new 类名();
范例:Phone p = new Phone();
2)、成员变量的使用
格式:对象名.变量名
范例:p.brand
3、成员方法的使用
格式:对象名.方法();
范例:p.call();