• Java ——方法


    本节重点思维导图

          

           

     方法的定义

     

    例题:1!+2!+3!+4!+…..+15!=?

    public class Demo {
                public static void main(String[] args) {
                    long sum = 0;
                    for(int i =1;i<=15;i++) {
                        sum += fun(i);
                    }
                    System.out.println(sum);
                }
    
                /**
                 * 求参数的阶乘
                 * @param digit 待求阶乘的数字
                 * @return 阶乘结果
                 */
            public static long fun(int digit) {
                long res = 1;
                for (int i = 1; i <= digit; i++) {
                    res *= i;
                }
                return res;
            }
    }

    main 方法是被 JVM 调用的,除此之外,main 方法和其它方法没什么区别。

    main 方法的头部是不变的,如例子所示,带修饰符 public 和 static,返回 void 类型值,方法名字是 main,此外带个一个 String[] 类型参数。String[] 表明参数是字符串数组

    方法的重载

    public static double max(double num1, double num2) {
      if (num1 > num2)
        return num1;
      else
        return num2;
    }
    public static int max(int num1, int num2) {
      if (num1 > num2)
        return num1;
      else
        return num2;
    }

    如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用;

    如果传递的是double型参数,则double类型的max方法体会被调用,这叫做方法重载;

    【Java编译器根据方法签名判断哪个方法应该被调用】

    就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表

    变量的作用域

    构造方法

    一个对象被创建时候,构造方法用来初始化该对象

    构造方法和它所在类的名字相同,但构造方法没有返回值

    通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象

    不管你是否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,默认构造方法的访问修改符和类的访问修改符相同(类为 public,构造函数也为 public;类改为 private,构造函数也改为 private),把所有成员初始化为0。

    一旦你定义了自己的构造方法,默认构造方法就会失效

    简单构造方法:

    class MyClass {
      int x;
     
      // 以下是构造函数
      MyClass() {
        x = 10;
      }
    }

    调用构造方法来初始化一个对象:

    public class ConsDemo {
       public static void main(String args[]) {
          MyClass t1 = new MyClass();
          MyClass t2 = new MyClass();
          System.out.println(t1.x + " " + t2.x);
       }
    }

    有参数情况下的构造方法及调用构造方法来初始化对象:

    class MyClass {
      int x;
     
      // 以下是构造函数
      MyClass(int i ) {
        x = i;
      }
    }
    public class ConsDemo {
      public static void main(String args[]) {
        MyClass t1 = new MyClass( 10 );
        MyClass t2 = new MyClass( 20 );
        System.out.println(t1.x + " " + t2.x);
      }
    }

    当创建对象时,系统会自动调用构造方法

    1. 没有自定义构造方法时,系统会调用默认构造方法
    2. 构造方法可以重载,不同的构造方法名字相同,参数列表不同,参数列表是其识别的依据、标志,类似不同人可能有相同的名字,但有不同的身份证号。
    3. 当自定义构造方法时,系统依据传入的参数类型、数量,自动匹配构造方法初始化对象

  • 相关阅读:
    SQL语句实例学习汇总
    sql语句一些实用技巧for oracle
    无限级递归生成HTML示例及ListBox,DropDownList等无限树
    另类Sql语句直接导出表数据到Execl
    powerdesigner中sql脚本小写转大写,去双引号
    C#中利用jQuery获取Json值示例,Ajax方式。
    利用jquery解决下拉菜单被Div遮挡问题
    获取Textarea 元素当前的光标位置及document.selection.createRange()资料
    oracle中一些常用函数
    IE6 动态创建 iframe 无法显示的 bug,万恶的IE6
  • 原文地址:https://www.cnblogs.com/expedition/p/10850124.html
Copyright © 2020-2023  润新知