[18/11/21] 方法

一、何为方法?

       方法就是一段用来完成特定功能的代码片段,类似于C语言中的函数。有名字,有输入,输出。

       方法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个。函数调用组成。面向对象中,整个程序的基本单位是类,【方法是从属于类和对象的】【可以反复调用】

  

格式:                                                                                                //     定义一个名字为add的方法, 有返回值

  修饰符1  修饰符2  返回值类型  方法名(形参列表){                         //  public static int  add(int x,int y){

       java语句;   //修饰符可有更多                                                  //           int  sum=x+y;

                          //  返回值可以为void 即无返回值                            //             return  sum;

  }         //也可以无形参                              //    }



【注意】

     1. 实参的数目、数据类型和次序必须和所调用的方法声明的形式参数列表匹配。

      2. return 语句终止方法的运行并指定要返回的数据。

      3. Java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本):

      4. 基本类型传递的是该数据值的copy值。

      5. 引用类型传递的是该对象引用的copy值,但指向的是同一个对象。


代码示例:
 1 public class Test_1121_01 {
 2 
 3     public static void main(String[] args) //主方法 程序的入口
 4     {
 5         Test_1121_01 test =new Test_1121_01();
 6         test.printName();
 7         test.add(20,30);//调用方法,传实参
 8         int s=test.add_1(23,45,67);  //返回值类型是int型 经过方法计算后结果为135 用int型,变量s去接收,然后输出s 
 9         System.out.println("sum1="+s);
10         System.out.println("-------分隔符------");
11         System.out.println(test.add_1(23,45,67)+100); //或者直接2合1 在本题中test.add_1(23,45,67) 就是个int型的数字
12     }
13 
14     void printName(){//无返回值,无参数
15             System.out.println("我中意你呀!");
16         }
17 
18     void add(int x,int y){ //无返回值,有参数类型的方法add
19             int sum=x+y;
20             System.out.println("sum="+sum);
21         }
22 
23     int add_1(int x,int y,int z){//有返回值,有参数类型的方法add_1
24             int sum1=x+y+z;
25             return sum1; //出了语句块之后sum1 不起作用,只在语句块中有效
26             // return 作用1、结束方法的运行 2、返回计算后的值
27         } 
29     
30 }

二、方法的重载(方法名字相同,但功能不同,怎么做?)

   如: println 就是重载的典型案例

 

代码示例:

 1 public class Test_1121_02 
 2 {
 3     public static void main(String[] args) 
 4     {
 5         System.out.println(add(3,5));
 6         System.out.println(add(3,5,7));
 7         System.out.println(add(3.0,5));
 8         System.out.println(add(3,5.0));
 9 
10     }
11    //方法1
12     static int add(int x,int y){ //此处加了static 好处是不用new一个对象,可以直接调用。区别于上一个例子没有static,必须new对象
13         int sum=x+y;
14         return sum;
15     }
16     /*static int add(int y,int x){  与方法1相比,参数名称不同,不构成重载,会报错
17         int sum=x+y;
18         return sum;
19     }
20 
21     static int double(int y,int x){  与方法1相比,只有返回值不同也不构成重载,会报错
22         double sum=x+y;
23         return sum;
24     }
25     
26     */
27 
28      //与方法1相比,参数个数不同,构成重载
29     static int add(int x,int y,int z){
30         int sum=x+y+z;
31         return sum;
32     }
33     //方法3:与方法1相比,参数类型不同,构成重载 
34     static double add(double x,int y){
35         double sum=x+y;
36         return sum;
37     }
38     //与方法3相比,参数顺序不同,构成重载(先int 后double)
39     static double add(int x,double y){
40         double sum=x+y;
41         return sum;
42     }
43 
44 }

 

 

 







posted @ 2018-11-21 20:29  ID长安忆  阅读(150)  评论(0)    收藏  举报