[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 }

浙公网安备 33010602011771号