zoukankan      html  css  js  c++  java
  • 重复调用的代码块——方法

    前面看了一种特殊的方法——构造方法,已经对方法的定义和使用有了一定的了解,不再累述,这里主要想记录三个方面的内容:

    1.方法的重载——方法名相同,参数列表不同的方法签名机制。

       参数列表不同,即参数个数、参数类型、参数顺序,至少有一项不同。需要注意的是,方法的修饰符和返回值类型不做要求。

       看下面的实例:

     1 class MethodOverload
     2 {
     3     public int add(int a,int b)//计算两个整数之和的add()方法
     4     {
     5         return a+b;
     6     }
     7     public float add(float a,float b)//计算两个单精度浮点数之和的add()方法
     8     {
     9         return a+b;
    10     }
    11     public int add(int a,int b,int c)//计算三个整数之和的add()方法
    12     {
    13         return a+b+c;
    14     }
    15 }
    16 public class T01
    17 {
    18     public static void main(String[] args)
    19     {
    20         int result1;
    21         float result2;
    22         MethodOverload a = new MethodOverload();
    23         result1=a.add(1,2);
    24         result2=a.add(1.2f,2.3f);
    25         result1=a.add(1,2,3);
    26         System.out.println(result1+"--------"+result2);
    27     }
    28 }

    输出结果:

    上面的例子中定义了一个add()方法,参数列表不同,分别输出了各自的正确结果,两个整数之和被三个整数之和覆盖,这就是方法的重载。

    我们最常用的System.out.println()就是典型的方法重载。

    2.二次包装private不想公开的实现细节——在方法内部调用方法。

     1 class Person
     2 {
     3     private String name;
     4     private int age;
     5     public void say()
     6     {
     7         this.talk();//在方法内调用方法
     8     }
     9     private void talk()
    10     {
    11         System.out.println(name+age);
    12     }
    13     public void setName(String name)
    14     {
    15         this.name=name;
    16     }
    17     public String getName()
    18     {
    19         return name;
    20     }
    21     public void setAge(int age)
    22     {
    23         this.age=age;
    24     }
    25     public int getAge()
    26     {
    27         return age;
    28     }
    29 }
    30 public class T01
    31 {
    32     public static void main(String[] args)
    33     {
    34         Person p = new Person();
    35         p.setAge(12);
    36         p.setName("xiaoxiao");
    37         p.say();
    38     }
    39 }

    使用这么多方法就为了一个private,必须发个随笔纪念一下...

    3.方法使用实例——把算法写进方法再调用

     1 class ArraySort
     2 {
     3    public static void sort(int[] a)
     4    {
     5        //冒泡排序算法
     6        for(int i=0;i<a.length;i++)
     7        {
     8            for(int j=i+1;j<a.length;j++)
     9            {
    10                if(a[i]>a[j])
    11                {
    12                    int temp=a[i];
    13                    a[i]=a[j];
    14                    a[j]=temp;
    15                }
    16            }
    17        }
    18    }
    19    public static void print_a(int[] a,String b)
    20    {
    21        System.out.println(b);
    22        
    23        for(int i:a)//foreach遍历数组
    24        {
    25            System.out.print(i+"  ");
    26        }
    27        System.out.println();
    28    }
    29 }  
    30 public class T01
    31 {
    32    public static void main(String[] args)
    33    {
    34         int[] a={43,46,22,67,86,27};
    35         ArraySort p = new ArraySort();
    36         p.print_a(a,"排序前:");
    37         p.sort(a);
    38         p.print_a(a,"排序后:");
    39    }
    40 }
    View Code

    运行结果:

    看似简单的知识背后,承载的是收获和成长!
  • 相关阅读:
    mysql使用命令备份和导入导出数据
    jmeter中json提取器提取多个参数给下游接口传参
    jmeter使用正则提取器返回多个参数给下游接口入参使用
    linux下分布式部署jmeter
    使用java远程启动jmeter服务报错,报错内容:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    Java中看今天是星期几,礼拜几
    java读取xml文件的四种方法
    Oracle 恢复删除的表
    重启Oracle命令
    Android 资源
  • 原文地址:https://www.cnblogs.com/wxywxy/p/6682119.html
Copyright © 2011-2022 走看看