javaSE 方法

来源:互联网 发布:西北师大知行学院分布 编辑:程序博客网 时间:2024/05/20 13:06

什么是方法?

方法是一个命名的代码块 类似于数学函数  就是一段完成某种功能的代码的集合。

作用:简化代码 提高可读性 有利于代码之间的共享。

语法:

[修饰符]返回值类型 方法名([参数列表]) [eg1,eg2….]{

方法体;

[return 返回值;]

}

修饰符:publicstaticfinal….

返回值类型:如果该方法有返回值  则标明返回值类型 .没有返回值 则用viod

方法名:给方法取得名字 第一个字母要小写 如果使用多个单词 除第一单词外其他所有单词第一个字母大写 使用的单词能表达出该方法的功能 eg:

drawCircleAndRectangle()

参数列表:有的方法有参数列表 有的没有 如果有则调用该方法时需要传入相应的参数。

方法体:该方法完成的业务逻辑代码。

返回值:如果返回值类型为void 则没有返回值 否则需要返回相应类型的值。

eg:

Public class MyFun {

//最简单的方法(方法中不能再次定义方法)

void fun1(){

System.out.println("这是最简单的方法");

}

//带修饰符的方法

Public void fun2(){

System.out.println("public修饰符的方法");

}

//带参数的方法

Public void fun4(int a,int b){

Int sum=a+b;

System.out.println("求和是"+sum);

}

方法的调用

在java中程序是由一个一个的类组成的,方法不可以单独调用的。一个方法必定属于一个类或者一个对象。调用方法时必须使用类或者对象调用。(Eg:.方法或对象.方法);

java调用方法 规则

如果方法使用static修饰,该方法是静态方法,静态方法属于类,调用静态方法可以使用类来调用,也可以使用对象调用,如果前面没有指明调用者,则默认缺省类名。

eg:

public class Test {

/*有static修饰的是静态方法

 * 静态方法属于类 可以由对象调用 也可以有类调用

 * */

public static void fun3(){

System.out.println("方法三");

}

public static void main(String[]args) {

Test t=new Test();

t.fun3();//通过对象调用静态方法

Test.fun3();//通过类调用静态方法

}

}

如果方法前面没有使用static修饰,该方法是普通方法,普通方法属于对象,调用普通方法:如果在静态方法中只能使用对象调用;如果在普通方法中可以使用对象,也可以使用this调用,还可以直接调用(默认缺省this)

public class Test {

public void fun1(){

System.out.println("方法一");

}

/*普通方法中调用普通方法

 *简单来说普通方法必须通过对象调用

 * */ 

参数列表

如果方法中参数列表为空,则调用时不需要传入参数,如果参数列表不为空,则调用时需要传入与参数列表对应的参数。

返回值

如果方法中没有返回值,则调用时不需要接受返回结果;如果有返回值,则调用时需要接受参数518D输出,或则直接输出。

总结:

定义方法时,需不需要修饰符,返回值,参数列表……大家根据实际情况,怎样方便就怎样写。

调用方法时,一看static,二看参数列表,三看返回值。

方法的值传递

在定义方法时,如果方法的参数列表不为空,则调用方法时需要传入相应类型的值。

形参:(形式参数)定义方法时,方法参数列表中的参数。

实参:(实际参数)调用方法时,传递给形参的值就

public class MyFun {

//a,b就是形式参数(形参)

public void getMax(int a,int b){

if(a>b){

System.out.println("最大值是:"+a);

}else{

System.out.println("最大值是:"+b);

}

}

public static void main(String[]args) {

MyFun m=new MyFun();

m.getMax(10, 20);//10,20就是实际参数(实参)

}

}

Java中方法的参数传递方式只有一种:值传递(分为两类:真实值,地址值).值传递的本质是将实际值的副本(复制品)传递到方法内,而参数本身不受影响

方法重载:

Java中允许在同一个类中定义多个方法,方法名可以相同,只要参数列表不同即可。(类型不同、个数不同、顺序不同)

//个数不同

public void sum(int a,int b){

System.out.println(a+b);

}

public void sum(int a,int b,int c){

System.out.println(a+b+c);

}

//类型不同

public void sum(int a,int b){

System.out.println(a+b);

}

public void sum(float a,int b){

System.out.println(a+b);

}

//顺序不同

public void sum(float a,int b){

System.out.println(a+b);

}

public void sum(int a,float b){

System.out.println(a+b);

}


原创粉丝点击