• Java的方法重载、变量和值传递


    一、方法重载

    1、定义

    在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可

    "两同一不同":同一个类、相同方法名
                 参数列表不同:参数个数不同、参数类型不同

    2、举例

    Arrays类中重载的sort() / binarySearch()

    3、.如何判断是重载

    跟方法的权限修饰符、返回值类型、形参变量名、方法都没有关系

    4、在通过对象调用方法时,如何确定某一个指定的方法

    方法名==>参数列表

    5、示例

    1. public class OverLoadTest {
    2. public static void main(String[] args) {
    3. OverLoadTest test=new OverLoadTest();
    4. test.getSum(1,2);
    5. }
    6. public void getSum(int i,int j){
    7. System.out.println("1");
    8. }
    9. public void getSum(double d1,double d2){
    10. System.out.println("2");
    11. }
    12. public void getSum(String s,int j){
    13. System.out.println("3");
    14. }
    15. public void getSum(int i,String s){
    16. System.out.println("4");
    17. }
    18. }

    如上,有四个getSum方法,构成了四个重载

    二、变量的赋值

    1、关于变量的赋值

    ①如果变量是基本数据类型,此时赋值的是变量所保存的数据值

    ②如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值

    2、示例
    1. public class ValueTransferTset {
    2. public static void main(String[] args) {
    3. System.out.println("基本数据类型");
    4. int m=10;
    5. int n=m;
    6. System.out.println("m = "+m+", n = "+n);
    7. n=20;
    8. System.out.println();
    9. System.out.println("m = "+m+", n = "+n);
    10. Order o1=new Order();
    11. o1.orderId=1001;
    12. Order o2=o1;
    13. System.out.println("o1.orderId = "+o1.orderId+", o2.orderId = "+o2.orderId);
    14. o2.orderId=1002;
    15. System.out.println("o1.orderId = "+o1.orderId+", o2.orderId = "+o2.orderId);
    16. }
    17. }
    18. class Order{
    19. int orderId;
    20. }

    三、方法的形参的传递机制:值传递

    1、形参与实参

    形参:方法定义时,声明的小括号内的参数

     实参:方法调用时,实际传递给形象的数据

    2、值传递机制:

    * 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值
    * 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值

    3、示例

    1. public class ValueTransferTset1 {
    2. public static void main(String[] args) {
    3. int m=10;
    4. int n=20;
    5. System.out.println("m = "+m+", n = "+n);
    6. ValueTransferTset1 test=new ValueTransferTset1();
    7. test.swap(m,n);
    8. System.out.println("m = "+m+", n = "+n);
    9. }
    10. public void swap(int m,int n){
    11. int temp=m;
    12. m=n;
    13. n=temp;
    14. System.out.println("m = "+m+", n = "+n);
    15. }
    16. }

    交换两个变量的值的操作:

    int temp=m;
    m=n;
    n=temp;

  • 相关阅读:
    java计算机毕业设计springboot+vue考研资料分享系统
    105. 从前序与中序遍历序列构造二叉树(中等 二叉树 dfs 哈希表 二叉树)
    【UVM基础】uvm_do 做了哪些事情?
    Vue render渲染函数
    人力资源小程序
    【SwiftUI模块】0021、SwiftUI做一个基于拖动手势位置的精美扩展工具栏
    人工神经网络数学模型图,神经网络模型数学建模
    vivo 商品中台的可视化微前端实践
    git忽略文件配置 !
    ​P1102 A-B 数对 【双指针(尺取法)】​
  • 原文地址:https://blog.csdn.net/weixin_49757916/article/details/125368942