Java 方法
1.什么是方法:
方法是一组为了实现特定功能的代码块的集合。方法在语法上的功能主要有以下两个:
①:结构化代码
将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强。
②:减少代码重复
一个固定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。
2.方法的定义和调用:
定义:
没有返回值也没有参数的定义和调用:
public class Text_fun { public static void main(String[] args) { //调用max方法 注意如果方法不是static修饰符是调用不了的 max(); } //定义了方法没有返回值也没有参数的传递 public static void max() { System.out.println("666"); } }
运行结果:
有参数的定义和调用:
public class Text_fun { public static void main(String[] args) { //调用max方法 注意如果方法不是static修饰符是调用不了的 max(111,222); } //定义了一个没有返回值的方法 需要传两个int类型的参数 public static void max(int number1,int number2){
if(number1>number2){ System.out.println("number1比number2大"); }else if (number1==number2){ System.out.println("number1和number2一样大"); }else { System.out.println("number1比number2小"); } } }
运行结果:
有返回值有参数的定义和调用:
public class Text_fun { public static void main(String[] args) { //调用max方法 注意如果方法不是static修饰符是调用不了的 System.out.println(max(111,222)); } //定义了一个返回值为String方法 需要传两个int类型的参数 public static String max(int number1,int number2){ if(number1>number2){ return "number1比number2大"; }else if (number1==number2){ return "number1和number2一样大"; }else { //有返回值的方法是必须有return的 return "number1比number2小"; } } }
运行结果:
3.方法的重载:
重载就是在一个类中,有相同的函数名称,但形参不同的函数
public class Text_fun { public static void main(String[] args) { //调用sum方法 sum(10,20); } //定义了一个没有返回值的方法 需要传两个int类型的参数 public static void sum(int number1,int number2){ System.out.println("和为:"+(number1+number2)); } //定义了一个没有返回值的方法 需要传两个double类型的参数 public static void sum(double number1,double number2) { System.out.println("和为:" + (number1 + number2)); } }
现在写了两个名字一摸一样的方法 为一不同的是传递参数的类型一个是int一个是double
现在调用sum方法传递两个int类型的参数
运行结果:
再次调用sum方法传递两个double类型的参数
运行结果:
这就是方法的重载 用同一个方法名处理不同的数据 当参数为int类型就找到需要参数为int类型的的方法 当参数为double类型就找到需要参数为double类型的的方法
4.静态方法和普通方法之间的调用问题:
有static关键字的就是静态方法没有的就不是:
如果两个都是普通方法互相调用是不需要static关键字的
一个静态方法是调用不了普通方法的 但是普通方法可以调用静态方法 因为静态方法是和类一起加载的 但是普通方法是类实例化之后才存在
现在看看类调用方法:
现在有两个文件 分别有两个类 我在Demo1中建立了一个public static 全局公用的静态方法 在Demo2中就可以直接用类对象 点 的形式拿到方法并执行。
现在把static去掉可以看到报红了 那怎么调用呢?
这就需要 先new一个Demo1类对象 然后在调用他的方法