本章将学习什么是类的无参、带参方法又是什么
类是由一组具有相同属性和共同行为的实体抽象而来。对象执行的操作是通过编写类的方法实现的。显而易见,类的方法是一个功能模块,其作用是“做一件事情”。
- public 返回值类型 方法名(){
-
- //方法的主体
-
- }
- public class Programmer { //创建类
- String name = "爱编程";
-
- //吃饭方法
- public void eat(){
- System.out.println("晚饭时间,吃烧烤!");
- }
-
- //睡觉方法
- public void sleep(){
- System.out.println("夜深了,好好睡觉!");
- }
-
- //编写代码方法
- public String writeCode(){
- String code = "代码";
- return code;
- }
- }
上述代码中定义了三个方法,可以直接调用。可见,类的方法定义了类的某种行为,而且方法的山西爱你封装在类中,实现了信息隐藏。
return 表达式;
例如上述代码中,返回值类型是String,因此在方法中必须使用return关键字返回一个字符串。如果方法没有返回值,则返回值类型为void。
在便携而程序时候一定要注意方法生命中返回值类型的类型和方法体中真正返回值的类型是否匹配。如果不匹配,编译器就会报错。
return语句的作用(跳转语句的一种):
·跳出方法:意思是“我已经完成了,要离开这个方法”。
·给出结果:如果方法产生一个值,这个值放在return后面,即上述语法中的“表达式”部分,意思是“离开方法”并将“表达式”的返回值返回给调用它的程序。
对象名.方法名();
Java中类是程序的基本单元。每个对象需要完成特定的应用程序功能。当需要某一对象执行一项特定操作时,通过调用方法来实现。另外,在类中,类的不同方法之间也可以进行相互调用。
- public class Programmer { //创建类
- String name = "爱编程"; //声明String类型的变量并且赋值
-
- //吃饭方法
- public void eat(){
- System.out.println("晚饭时间我喜欢去吃烧烤!");
- }
-
- //睡觉方法
- public void sleep(){
- System.out.println("夜深了,我会好好睡觉!");
- }
-
- //编写代码方法
- public String writeCode(){
- String code = "编写代码";
- return code;
- }
-
- /*获得名字*/
- public String getName() {
- return name;
- }
-
- /*显示信息*/
- public String showProgrammer(){
- return "我的名字叫" + getName() + "," + "是一名程序员.";
- }
- }
测试类:
- public class ProgrammerTest { //创建类
- public static void main(String[] args) { //主方法
- Programmer pgm = new Programmer(); //创建对象
- String info = pgm.showProgrammer(); //调用方法并接收返回值
- System.out.println(info); //输出
- System.out.println("上班时间,我的工作是:" + pgm.writeCode()); //调用方法
- pgm.eat(); //调用eat()方法
- pgm.sleep(); //调用sleep()方法
- System.out.println("Good night"); //输出
- }
-
- }
运行结果:
通过上面的代码可以看到,类的成员方法相对独立地完成了某个应用程序功能,他们之间可以相互调用,调用时仅仅使用成员方法的名称。但是其他类的党发要调用该类的成员方法时候,就必须先创建这个类的一个对象,然后通过操作符“.”使用它的成员方法。如果类的方法有返回值,调用时就可以得到它的返回值。
原因分析:方法的返回值类型为void,方法中不能有return 语句。
原因分析:方法不能返回多个值。
原因分析:多个方法不能相互嵌套定义。例如,不能将getInfo()定义在showInfo()中。
还有很多使用无参方法的错误操作,这里就不一一展示了,想要了解更多的可以私信我。
- <访问修饰符> 返回值类型 <方法名>(<形式参数列表>) {
- //方法的主体
- }
类的带参方法跟无参相差无几,就只是多了个参数,而参数类型有很多种,常见的有String、int、double等,也可以是对象、数组等参数类型
- public class StudentBiz { //创建类
- String[] names = new String[30]; //创建学生姓名数组
-
- public void addNmae(String name){ //有参方法
- //增加学生姓名
- }
-
- public void showName(){ //无参方法
- //显示学生姓名
- }
-
- }
测试类:
- public class TestAdd { //创建类
- public static void main(String[] args) { //主方法
- StudentBiz st = new StudentBiz(); //创建对象
- Scanner input = new Scanner(System.in); //Java中的Scanner类
- for (int i = 0; i < 5; i++) { //for循环输入学生姓名
- System.out.println("请输入学生姓名:");
- String newName = input.next(); //接收输入
- st.addNmae(newName); //调用方法并传实参
- }
- st.showNames(); //显示全部学生姓名
- }
- }
运行结果:
- public class StudentBiz { //创建类
- String[] names = new String[]{"张三","李四","赵五","钱六","孙七",}; //创建学生姓名数组
-
- public boolean searchName(int start, int end, String name) { //带参数的方法
-
- boolean find = false; //是否找到标识
- //在指定的数组区间中查找姓名
- for (int i = start - 1; i < end; i++) { //循环查找
- if (names[i].equals(name)) {
- find = true;
- break;
- }
- }
- return find; //返回值
- }
- }
- import java.util.Scanner; //导包
-
- public class NewStudentTest { //创建类
- public static void main(String[] args) { //主方法
- StudentBiz st = new StudentBiz(); //创建对象
- Scanner input = new Scanner(System.in); //Java中的Scanner
- System.out.println("请输入开始查找的位置:"); //提示
- int s = input.nextInt(); //定义int类型的变量接收输入
- System.out.println("请输入结束查找的位置:"); //提示
- int e = input.nextInt(); //定义int类型的变量接收输入
- System.out.println("请输入查找的姓名:"); //提示
- String name = input.next(); //定义int类型的变量接收输入
- System.out.println("****查找结果****");
- if (st.searchName(s,e,name)){ //判断是否找到
- System.out.println("找到了");
- }else{
- System.out.println("没找到");
- }
- }
- }
运行结果:
带参方法的参数个数无论多少,在使用时只要注意实参和形参互相对应:传递的实参值与形参的数据类型相同、个数相同、顺序一致,就掌握了带参数方法的使用。