java方法

方法

  1. 使用方法可以让程序更加整洁

  2. 1、为什么使用方法?
    
        减少重复代码,提供代码复用性
    
        使用方法将功能提炼出来
    
        写在类内
    
    2、声明格式
    
        [修饰符] 返回值类型 方法名([形式参数列表]){
    
                  程序代码;
    
                  [return 返回值;]
    
                }
    
       注意:1、方法是给外界提供内容的位置,形式参数是外界提供的
    
         2、方法调用的时候写的是实际参数
    
         3、实际参数的类型、顺序和形参要对应上
    
         4、支持自动转换类型,不支持强制类型转换
    
  3. 1、数据类型划分:
    
        基本类型变量:数据的值
    
        引用类型变量:数据的地址
    
    2、声明的位置划分:
    
        局部变量
    
        全局变量
    
            区别:
    
            1、默认值
    
                局部没有默认值,使用前必须初始化。
    
                全局有默认值,默认为0,不必须初始化。
    
            2、声明位置
    
                局部在方法内。
    
                全局在方法外类内。
    
            3、作用位置
    
                局部只能在自己声明的方法里。
    
                全局在整个类中
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dW7MjIoh-1613297084048)(image-20201223220546613.png)]

return 是返回值

没有 return的情况下 void是关键字,可以直接调用如上图

在这里插入图片描述
在这里插入图片描述

方法调用

静态方法调用非静态

无论是否在同一类内,均需要通过对象调用

package test;
//Test类
public class Test {
    public void IsSon1(){//非静态方法
        System.out.println("成功调用非静态方法里的儿子1");
    }

    public static void main(String[] args) {
        Test son1=new Test();
        son1.IsSon1();//静态方法通过对象调用此类中的非静态方法
        Son son=new Son();//静态方法通过对象调用Son类中的非静态方法
        son.IsSon();
    }
}
1234567891011121314
package test;
//Son类
public class Son {
    public  void IsSon(){
        System.out.println("成功调用另一个类里的儿子");
    }//Son类里的非静态方法
}

静态方法调用静态方法

同一类内直接调用,不同类内直接通过类名.方法名(参数表)调用

package test;
//Test类
public class Test {
    public static void IsSon2(){//静态方法
        System.out.println("成功调用静态方法里的儿子2");
    }

    public static void main(String[] args) {
        IsSon2();//静态方法直接调用类内的静态方法
        Son.IsSon3();//静态方法通过类名直接调用Son类中的静态方法
    }
}
123456789101112
package test;
//Son类
public class Son {
    public static void IsSon3(){
        System.out.println("成功调用另一个类里的静态儿子3");
    }//Son类里的静态方法
}
1234567

非静态方法在同一类内调用其他方法

在同一类内,非静态方法可以直接调用静态方法和非静态方法

package test;
//Test类
public class Test {
    public void Son1(){//非静态方法
        System.out.println("成功调用非静态方法里的儿子1");
    }
    public static void Son2(){//静态方法
        System.out.println("成功调用静态方法里的儿子2");
    }
    public void alloutput(){
        Son1();//非静态方法直接调用类内的非静态方法△
        Son2();//非静态方法直接调用类内的静态方法△
    }
    public static void main(String[] args) {
        Test test = new Test();
        test.alloutput();//前边已学静态方法通过对象调用非静态方法
    }
}

非静态方法在不同类之间调用其他方法

在不同类之间,非静态方法需要通过对象才能调用非静态方法。
非静态方法既可以通过对象调用静态方法又可以通过类名直接调用(由于对象的调用方式属于非静态调用方式,所以建议使用类名直接调用静态方法)

package test;
//Test类
public class Test {
    public void output(){
        Son.IsSon1();//通过类名直接调用Son类中的静态方法,不建议使用对象调用静态方法
        Son son = new Son();
        son.IsSon2();//通过对象调用Son类中的非静态方法
    }

    public static void main(String[] args) {
        //同一类中的静态方法调用非静态方法output,前边已经涉及到
        Test test = new Test();
        test.output();
    }
}
123456789101112131415
package test;
//Son类
public class Son {
    public static void IsSon1(){//Son类里的静态方法
        System.out.println("成功调用另一个类里的静态儿子1");
    }
    public void IsSon2(){//Son类里的非静态方法
        System.out.println("成功调用另一个类里的非静态儿子2");
    }
}
12345678910

方法的重载

在这里插入图片描述
在这里插入图片描述

可变参数

又叫不定项参数

类型:例如int…a

在这里插入图片描述
在这里插入图片描述

ps:

只能放在最后一个且
一个方法里面只能有一个

特殊输出句

System.err.print输出为红色

(具体不理解)

1.形式参数:就是调用的方法中需要输入的参数。

public static void add(int x,int y){

}(这里的x,y就是)

2.实际参数:方法调用时属于的参数。

public static void main(String[] args){
int a=5;
int b=6;
add(a,b);

(a,b就是)

posted @ 2022-03-30 19:04  Tzeao  阅读(28)  评论(0)    收藏  举报