一、何为方法?
方法就是一段用来完成特定功能的代码片段,类似于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){ //无返回值,有参数类型的方法add19 int sum=x+y;20 System.out.println("sum="+sum);21 }22 23 int add_1(int x,int y,int z){ //有返回值,有参数类型的方法add_124 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 //方法112 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 }