zoukankan      html  css  js  c++  java
  • Java 成员方法的定义

    方法的定义:

    • 方法是类或对象的行为特征的抽象。
    • Java中的方法不能独立存在,所有的方法必须定义在类中。
    • 使用 “类名.方法” 或 “对象.方法” 的形式调用。
    • 语法格式:

        权限修饰符 返回值类型 方法名(参数类型 参数名) {

          // 方法体

          // 返回值

        }

    方法分类:

    • 无参数无返回值
    • 有参数无返回值
    • 无参数有返回值
    • 有参数有返回值
    public class Method {
        
        public void aMethod() {
            System.out.println("无参数无返回值的方法");
        }
        
        public void bMethod(int b) {
            System.out.println("有参数无返回值的方法");
        }
        
        public int cMethod() {
            System.out.println("无参数有返回值的方法");
            return 10;
        }
        
        public int dMethod(int d) {
            System.out.println("有参数有返回值的方法");
            return d;
        }
    
        public static void main(String[] args) {
            int ret;
         // 创建Method类的对象 Method md
    = new Method();
         // 通过对象.方法调用 md.aMethod(); md.bMethod(
    10); ret = md.cMethod(); ret = md.dMethod(10); System.out.println(ret); } }

    方法的参数:

    方法可以没有参数,或者有多个参数,参数类型可以是任意类型

    方法参数也是局部变量

    参数为引用数据类型时:

      当对象实例作为参数传递给方法时,传递的是对象的引用,为地址传递,接受参数的方法可以改变参数的值。

    参数为简单数据类型时:

      传递的是参数的副本,为值传递,接受参数的方法中不会改变参数的值。

    public class MethodParam {
        
        /** 
         * 方法的参数为基本数据类型时,传递的是值的副本(值拷贝)
         * 方法中不会改变元参数的值
         */
        public void swap(int a, int b) {//a, b为形参
            int tmp;
            tmp = a;
            a = b;
            b = tmp;
        }
        
        int x = 100, y = 200;
        
        /**
         * 方法的参数为引用数据类型时,传递的对象的引用(传地址)
         * 方法中可以改变参数的值
         */
        public void swap2(MethodParam mp) {
            int tmp = mp.x;
            mp.x = mp.y;
            mp.y = tmp;
        }
    
        public static void main(String[] args) {
            MethodParam mp = new MethodParam();
            
            int m = 10, n = 20;
            System.out.println("交换前:a = "+m+",b = "+n);
            mp.swap(m, n);// m,n为实参
            System.out.println("交换后:a = "+m+",b = "+n);
            
            System.out.println("交换前:x = "+mp.x+",y = "+mp.y);
            mp.swap2(mp);
            System.out.println("交换后:x = "+mp.x+",y = "+mp.y);
        }
    
    }
  • 相关阅读:
    Layui的省市区三级联动
    Uncaught SyntaxError: Unexpected token ','
    Cannot use 'in' operator to search for '23' in
    Linux 递归批量删除文件夹或文件的命令
    PHPstorm常用快捷键(Windows)
    Isset、empty、count、is_null的比较
    PHPstorm快捷键的学习
    Elasticsearch索引按月划分以及获取所有索引数据
    Elasticsearch入门
    java自学-流程控制语句
  • 原文地址:https://www.cnblogs.com/lialong1st/p/7810426.html
Copyright © 2011-2022 走看看