类的无参、有参方法

 

类的方法     有什么作用???

我们知道  类是由具有相同属性和共同行为的实体抽象而来的。  对象 执行的操作是通过编写类的方法实现的。类的方法是一个功能模块;有了方法才能实现操作否则就像一个布娃娃不会说也不会动。

 

方法语法:  public 返回值类型    方法名(){

                  //方法的主体

           }

public    void    play(){     //无返回值类型

         System.out.print("狗狗在玩球");

}

方法执行后可能会返回一个结果,该结果的类型称为返回值类型。使用return语句返回值。

return  表达式;

return 语句是跳出语句的一种他做了两件事:

   * 跳出方法  所以一般放在语句的最后

   * 给出结果

public   String    eat(){       //有返回值类型

       String  food="hamburger";

       return   food;   //return  "hamburger";

}

     就这样用 :)

方法调用:语法     对象名.方法名();

package bank.com;

public class Lion {
   public  String corlor="yellow";
   public  void run(){
       System.out.println("奔跑的狮子");
   }
   public  String  eat(){
       return "喜欢吃 hamburger";
   }
   public String getCorlor() {
    return corlor;
   }
   public String show(){
       return "这是个"+getCorlor()+"狮子";
   }
   public void setCorlor(String corlor) {
    this.corlor = corlor;
  }
}

测试类:

package bank.com;

public class LionTest {
    public static void main(String[] args) {
         Lion on =new Lion();
          System.out.println(on.show());
         on.run();
         System.out.println("发现一个"+on.eat()+"狮子");
    }
    
     
}

定义带参方法

<访问修饰符>  返回值类型 <方法名>(<参数列表>) {

         //方法的主体

         }

访问修饰符指该方法允许被访问的权限范围,只能是 public  protected或private.

语法    数据类型  参数1 ,数据类型 参数2,数据类型 参数3

 调用带参方法:

调运带参方法和调运无参方法相同 

语法 :对象名.方法名(参数1,参数2,参数3)

实参的类型,顺序都和形参的一一对应。

下面看一个例子:

package bank.com;
public class Add {    
    String []names=new String[30];//学生姓名数组
    public void  AddName(String name ){//有参方法
        //增加学生姓名
    }
    public void showname(){//无参方法
        //显示全部学生姓名
        
        }    
    }

带多个参数的方法:查找姓名的方法

package bank.com;

public class SreachName {
    String names[]=new String [30];
    public boolean seachName(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;
    }
}
package bank.com;
import java.util.Scanner;
public class SeachTest {
    public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		SreachName as=new SreachName();
		System.out.println("请输入开始查找的位置:");
		int s=input.nextInt();
		System.out.println("请输入结束查找的位置:");
		int e=input.nextInt();
		System.out.println("请输入查找的姓名:");
		String name=input.next();
		System.out.println("**********查找结果*******");
		if(as.seachName(s, e, name)){
			System.out.println("找到了");
		}
		else{
			System.out.println("没找到");
		}
	}
}

  

数组作为参数的方法

package bank.com;

public class StudentBiz {
    /**
     * 求平均分
     * 参赛成绩数组
     */
    public double CalAvg(int[] scores){
        int sum=0;
        double avg=0.0;
        for(int i=0;i<scores.length;i++){
            sum=sum+scores[i];
        }
        avg=(double)sum/scores.length;
        return avg;
    }
    /**
     * 最高分
     */
    public int CalMax(int[]scores){
        int max=scores[0];
        for(int i=0;i<scores.length;i++){
            if(scores[i]>max){
                max=scores[i];
              }
        }
        
        return max;
    }
}

测试类:

package bank.com;
import java.util.Scanner;
public class Testo1 {
    public static void main(String[] args) {
        StudentBiz  st=new StudentBiz();
        int []scores=new int[5];//保存比赛成绩
        Scanner input=new Scanner(System.in);
        System.out.println("请输入参赛者的成绩:");
        for (int i = 0; i < scores.length; i++) {
            scores[i]=input.nextInt();
        }
        //输出平均分
        double avgScore=st.CalAvg(scores);
        System.out.println("平均成绩:"+avgScore);
        //输出最高分
        int  maxScore=st.CalMax(scores);
        System.out.println("最高值:"+maxScore);
    }
}

 

对象作为参数的方法

public class Student {
      public int id;
      public String name;
      public int age;
      public int Score;
      public void show(){
          System.out.println(id+"\t"+age+"\t"+name+"\t"+Score);
      }
}
public class StendentBiz {
    Student[] students=new Student[30];
    /**
     * 增加学生
     */
    public void addStudents(Student stu){
        for(int i=0;i<students.length;i++){
            if(students[i]==null){
             students[i]=stu;
             break;
             }
        }
        
    }
    public void show(){
        System.out.println("本班学生列表:");
        for(int i=0;i<students.length;i++){
            if(students[i]!=null){
                students[i].show();
            }
        }
        System.out.println();
    }
}
public class Test {
    public static void main(String[] args) {
        //实例化学生对象并初始化
        Student Student1=new Student();
        Student1.id=10;
        Student1.name="张三";
        Student1.age=18;
        Student1.Score=34;
        Student Student2=new Student();
        Student2.id=10;
        Student2.name="林三";
        Student2.age=38;
        Student2.Score=64;
        //新增学生对象
        StudentsBiz  st=new StudentsBiz();
        st.addStudents(Student1);
        st.addStudents(Student2);
        st.show();//显示学生信息
    }
}

 

posted @ 2017-04-21 17:08  春眠不觉笑  阅读(4481)  评论(0编辑  收藏  举报