zoukankan      html  css  js  c++  java
  • Java基础之方法详解

    方法的所属性

      在Java的语言中,方法相当于C语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,函数是一等公民,整个程序是由一个个函数组成的;但是在面向对象的语言里,类是一等公民,整个程序是由一个个类组成的。因此在Java中,方法不能独立存在,它只能属于类或者对象。因此,如果我们要定义一个方法,就必须在类中定义。值得注意的是,如果这个方法添加了修饰符static(这个修饰符后面会详细说明),这个方法就属于这个类,否则的话,这个方法属于这个类的实例。

      我们调用方法的方式为:类.方法 | | 实例.方法。但是当我们在一个类中的方法调用相同类中的方法时,如果这个方法是普通的方法,我们需要用到this来调用;如果这个方法是静态的方法(static修饰),我们需要用类名来调用。

    方法的格式说明

    (1).方法的格式定义为:

    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
      方法体语句;
      return 返回值;
    }

    修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
    返回值类型:就是功能结果的数据类型。当这个方法没有返回值的时候,返回值的类型为void;当这个方法有返回值的时候,返回值的类型根据返回的数据来确定(如果有返回值,必须使用return)。

    方法名:符合命名规则即可。

    参数:实际参数:就是实际参与运算的。形式参数;就是方法定义上的,用于接收实际参数的。

    参数类型:就是参数的数据类型
    参数名:就是变量名
    方法体语句:就是完成功能的代码。
    return:结束方法的。
    返回值:就是功能的结果,由return带给调用者。

    方法的参数传递机制

    方法的参数分为两种:形参和实参。形参代表方法定义上的,用于接收实际参数的参数。实参代表实际参与运算的参数。

    Java中方法的参数传递都是通过值传递实现的,所谓值传递,就是将实际参数值的副本传入方法内,而参数本身不会受到任何影响。例子如下:

    //a,b交换值的例子,但是这个只是值传递,a和b的值不会变
    public class fun {
        public static void main(String[] args) {
            int a = 3,b = 4;
            fun1(a,b);                               //实参
            System.out.println(a+"+++++"+b);  
        }
            //类中的方法都用public static为前缀
            public static void fun1(int a,int b){    //形参
            int temp;
            temp = a;
            a = b;
            b = temp;
            System.out.println(a+"========"+b);
        }
    }
    
    
    //输出结果为:
    4========3
    3+++++4
           

    形参个数可变的方法

    形参个数可变表示允许为方法指定数量不确定的形参。如果在方法定义时,在最后一个形参的类型后加三个点(...),则表明该形参可以接受多个参数值,多个参数值被当成数组传入。例子如下:

    public class fun {
        public static void main(String[] args) {
            fun1(4,"abc","dsa","bfd");
        }
        public static void fun1(int a,String... books){ //这里面的String... books相当于String[] books
            for(String book:books){
                System.out.println(book);
            }
            System.out.println(a);
        }
    }

    但是形参个数可变的这个方法要求,个数可变的形参只能处于形参列表的最后位置,即一个方法中最多只能有一个个数可变的形参。

    方法重载

      在Java方法的执行过程中,重载的概念是相当重要的。Java允许同一个类中定义多个同名的方法,只要形参列表不同即可。如果同一个类中包含了两个或两个以上的方法名相同,但是形参列表不同(与返回值类型无关),我们则成为方法重载。所谓的重载就是要求两同一不同:同一个类中方法名相同,参数列表不同。对于方法其他部分(返回值类型,修饰符等)与重载没有任何关系。参数列表不同包括:A:参数个数不同。B:参数类型不同。C:参数的顺序不同(算重载,但是在开发中不用)

    下面例子中演示了类中方法的重载:

    public class fun {
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            String c = "abc";
            fun1(a);
            fun1(a,b);
            fun1(a,c);
        }
        public static void fun1(int a){
            System.out.println(a);
        }
        public static void fun1(int a,int b){
            System.out.println(a+"==="+b);
        }
        public static void fun1(int a,String b){
            System.out.println(a+"==="+b);
        }
    }
    
    //最终结果
    1
    1===2
    1===abc

    为了我们共同进步,我这里有计算机专业的各种免费视频,

    如果想要,关注我的公众号:念流声。私聊我,看到后给你连接(只放了一张图片,视频有很多,需要什么可以私聊问我,有的话就给你)。

  • 相关阅读:
    Command Line Tools for win32
    鼠标快速复制粘帖工具!
    IBM T系列笔记本安装2003未知设备问题!
    拔智齿!痛苦磨难中!
    I am a hero!
    vim学习笔记!
    产生数
    NumPy矩阵运算
    1130:找第一个只出现一次的字符
    小A与小姐姐给气球涂色[dp + 快速幂]
  • 原文地址:https://www.cnblogs.com/liuzengzhi/p/11519388.html
Copyright © 2011-2022 走看看