通过前面的学习,我们知道,类的方法时一个功能模块,作用是做一件事情,实现某一个独立功能。
定义带参方法。
语法:
<访问修饰符>返回值类型<方法名>(<参数列表>){
//方法的主体
}
1. <访问修饰符>是指该方法允许被访问的权限范围,只能是public ,proteected或private。其中public 访问修饰符表示该方法可以被任何其他代码调用,另外两种修饰符将在后面学习。
2. 返回值类型指方法方法返回值的类型,如果方法不返回任何值,它应声明为void 类型,java对待返回值的要求很严格,方法返回值必须与所说的类型相匹配,使用return语句返回值。
3. <方法名>是定义的方法的名字,它必须使用合法的标识符。
4. <参数列表>是传送给方法的参数列表,列表中各参数间以逗号分隔,参数列表的格式如:
数据类型 参数1, 数据类型 参数2,.......数据类型 参数n,其中n>=0。如=0代表没有参数。
示列:
public class StudentsBiz { String [] names =new String[30]; public void addName (String name) //有参方法 public void showName(){ //无参方法 } }
调用代参方法:
调用带参方法与无参方法的语法相同,但是在调用带参方法是必须传入实际的参数的值。
语法:
对象名.方法名(参数1,参数2,....参数n)
调用方法时,要注意:1. 先实例化对象,在调用方法。2. 实参的类型,数量,顺序都要与形参一 一对应。
示列:
public class TestAdd{ public static void main(String [] args){ StudentsBiz st=new StudentsBiz(); Scanner input=new Scanner (System.in); for(int i=0;i<5;i++){ Ststem.out.println("输入"); String newName=input.next(); st.addName(newName); //调用方法并传实参 } //显示 st.showName(); } }
带多个参数的方法:
示列:
public boolean serchName(int start, int end, String name){ boolean find =false; //是否找到标识; for(int i=statr-1;i<end;i++){ if(names[i]=.equals(name)){ find=true; } } return find; }
System.out.print("输入"); int s=input.nextInt(); System.out.print("输入"); int e=input.nextInt(); System.out.print("输入"); Strint name=input.nextInt(); if(st.searchName(s,e,name)){ System.out.println("找到了"); }else{ System。out.println("没找到"); }
serchName()带有三个参数,数据类型分别是 int,int,String。调用该方法传递的实参s,e,name,的类型都与之一 一对应,
并且searchName()方法定义返回值为boolean类型return的find为boolean类型。
常见的错误:
1. //方法定义
public void addname(String name){
//方法体
}
代码中,调用方法时,在传递的实参前添加数据类型,正确的是:对象名.addname(”张山“);
2. //方法定义
public boolean searchname(int statr ,int end, String name){
//方法体
}
//方法调用
String s="开始";
int e=3;
string name="张山";
boolean flag=对象名.searchname(s,e,name);
代码中,形参和实参的数据类型不一致,searchname()方法定义的形参要求数据类型为int ,int,String 类型,而实际的为String,int,String 类型。
包:
语法: package包名;
package是关键字,包的声名必须是java源文件中的第一条非注释性语句,而且一个源文件只能有一个包声明语句。
java中 包被设计与文件系统结构相对应,因此,在命名包时要严格遵守编写规范。