码迷,mamicode.com
首页 > 编程语言 > 详细

Java ——方法

时间:2019-05-11 23:16:33      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:情况   根据   编译器   else   例题   返回值   turn   info   编译   

本节重点思维导图
技术图片

       技术图片

        技术图片

 

 

 方法的定义

 技术图片

例题: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. 当自定义构造方法时,系统依据传入的参数类型、数量,自动匹配构造方法初始化对象

 

 

 

 

技术图片

 

Java ——方法

标签:情况   根据   编译器   else   例题   返回值   turn   info   编译   

原文地址:https://www.cnblogs.com/expedition/p/10850124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!