1.定义带参方法
语法:
<访问修饰符>返回值类型<方法名>(<参数列表>){
//方法的主体
}
<访问修饰符>指该方法允许被访问的权限范围,只能是public,protected或privute,其中public访问修饰符表示该方法可以被任何代码调用,另外两种修饰符将在后续课程中陆续学习。
返回值类型:指方法返回值的类型。假如不返回任何值,他应该声明为void类型,Java对待返回值的要求很严格,方法返回值必须与所说明的类型相匹配,使用return返回值。
<方法名>是定义的方法的名字,它必须使用合法的标识符。
<参数列表>是传送给方法的参数列表,列表中参数间一哦独好分隔,参数列表的格式如下:
数据类型 参数1,数据类型 参数2,……数据类型 参数n。你>=0,如果n=0,代表没有参数,这是的方法就是前面学习的无参方法。
2.调用带参方法
语法:
对象名.方法(参数1,参数2……参数n)
在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参。形参是在定义方法时对参数的称呼。用的是定义方法需要传入的参数个数和类型,实参是在调用方法时传送给方法处理的实际的值。
现实例化对象,在调用方法
实参的类型数量,顺序都要与形参一一对应
3.为什么要包
1.包允许将类给合成娇小的单元,(类似文件夹)易于找到和使用相应的类文件。
2.防止命名冲突;Java只有在不同包中的类名才能重名。
3.包允许在更广的 范围内保护类,数据和方法,可以在包内定义类。根据规则,保外的代码有可能不能访问类。
public class Method_005 { double zje; //总金额 String banli;//办理业务方式 boolean pd; public void show(int choice, double money) { pd = false; if (choice == 1) { banli = "存款"; zje += money; } else if (choice == 2) { banli = "取款"; if (zje >= money) { zje -= money;//每次减掉取款金额并记录总金额 } else { pd = true;//开关,main方法中会判断一条输出语句 System.out.println("余额不足!"); } } } public static void main(String[] args) { Scanner input = new Scanner(System.in); Method_005 bdqn = new Method_005(); int choices = 0; do{ System.out.println("1.存款 2.取款 0.退出"); System.out.print("请选择你需要办理的业务:"); choices = input.nextInt(); if (choices == 1 || choices == 2) { bdqn.show(choices, 0); System.out.print("请输入" + bdqn.banli + "金额:"); double quk = input.nextDouble(); bdqn.show(choices, quk); if (bdqn.pd == false) { System.out.println(bdqn.banli + "成功!"); } System.out.println("\n***当前余额为:" + bdqn.zje + "***\n"); } else if (choices != 0) { System.out.println("命令执行错误!请重新输入!"); } }while (choices != 0) ; System.out.println("程序退出!"); }}
常见错误:
//方法定义public void addNme(String name){ //方法体}//方法调用对象名.addName(String "张三");代码中,调用方法时,在床底的实参前添加数据类型,正确的调用方法如下:对象名.addName("张三");
//方法定义public booiean scarchName(int start,int end,String name){ //方法体}//方法调用String s="开始";int e=3;String name="张三";boolean fiag=对象名.searchName(s,e,name);代码中,形参和实参的数据类型不一致,searchName()方法定义的形参要求数据类型为int,int,String类型,而实际传递的实参护具类型为String,int,String。
//方法定义public boolran searchName(int start,int end,String name){ //方法体}//方法调用int s=1;int e=3;boolean fiag=对象名.searchName(s,e);形参和实参数量不一致。searchName()方法定义了三个形参,而实际传递的实参只有两个。
//方法定义public boolean searchName(int start,int end,String name){ //方法体}//方法调用int s=1;int e=3;String name="张三";方法定义有返回值,但是调用该方法后没有对返回值做任何处理。