方法

  某段代码经常使用,可以使用大括号将这段代码包括起来,起个名字,以后就使用这个名字来代替这段代码。

  定义格式:

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

    方法体语句;

       return语句;

    }

  方法定义的解释:

    修饰符:public 公共的,是一个修饰符;static 静态的,也是一个修饰符。

    返回值类型:指这个方法应该有什么样的结果返回给调用者,这个结果可以是任意的数据类型,如果没有返回值,那么写成void (例如main方法,就没有返回值)。

    方法名称:给这段代码起的名字。只要是一个合法的标识符即可。

    参数列表:表示我要做一个功能,需要提供给我哪些数据,这些数据写在方法名后的小括号中。如果没有参数,小括号中可以什么都不写。

    方法体语句:真正要完成该方法功能的执行逻辑。

    方法的返回:关键字return,表示返回,将这个方法的结果返回到方法的调用者处。如果方法有返回值,return 必须写,return后面跟一个要返回的结果。这个返回的数据的数据类型必须与返回值类型一致,如果方法没有返回值,return 可以省略不写,那么在定义上,返回值类型处必须写成void。

  

  构造方法   

    构造方法:构造函数,构造器,Constructor

    作用:给成员变量进行赋值

    构造方法的定义:

      修饰符 构造方法名(参数列表) {

        作用:对成员变量进行赋值;

      }

    构造方法说明:

      构造方法名:必须与类名保持一致,严格区分大小写,符号都必须完全一样。

      构造方法没有返回值类型,连void都不写。

      参数列表:可以有参数,可以没有参数。

      构造方法的作用:主要是给成员变量进行赋值。

  静态方法

    使用static修饰符修饰的方法就是静态方法,不加static修饰符的普通方法就是成员方法。

    static静态是属于类的,不属于任何对象,但是可以被这个类的所有对象所使用(共享性)。

    静态跟随着类(class)的加载而加载进内存,类进内存后,JVM虚拟机就会检索,类中有哪些使用static修饰的成员(成员变量,方法),将static修饰的成员加载进入到内存区域中(数据共享,静态池)。

    静态的调用方式,2种:

      1) 比较推荐,通过类名.静态

      2) 先实例化对象,通过对象名.静态(不推荐)

  方法调用

    说明:

      Java类文件中,JVM虚拟机,将class字节码文件放入内存中。类文件要运行执行功能,JVM只主动的调用main方法(main方法做为程序的唯一执行入口)。

      main方法,由JVM主动调用的,因此运行类的时候,首先运行main方法,main方法从上到下的顺序执行。除了main方法外,其余的方法,不会主动的进行运行。

      方法的调用,需要在main中进行调用,也可以在其他方法中调用。

      方法定义时,参数”数据类型  变量名”的形式(形式参数)。

      方法调用时,所传递的参数必须与定义时参数类型一致,参数顺序一致。

      方法调用时,给的值都是实际值(实际参数)

      同一个类中,方法可以直接通过方法名调用。

    构造方法的调用:

      当实例化对象的时候,JVM虚拟机主动调用构造方法。每次,new对象的时候,只调用一次。

      定义的普通方法,可以被随意调用,但是构造方法,我们自己不能主动调用。

    注意:

      方法一定要定义在类的内部。

      一个方法中不能再定义另外一个方法,但是可以调用方法。

      方法执行结束有两种情况:

      1) 执行到return 语句  2) 整个方法的内容都执行完毕

      因此,方法中,return后面的语句不会被执行。

  代码:

public static void main(String[] args) {
// 调用没有参数没有返回值的方法
method01();
// 调用没有参数有返回值的方法
int x = method02();
System.out.println(x);
// 调用有参数没有返回值的方法
method03(2,3);
// 调用有参数有返回值的方法
int s = method04(2,3);
System.out.println(s);
} public static int method04(int i, int j) {
int s = i * j;
return s;
} public static void method03(int i, int j) {
int sum = i + j;
System.out.println(sum);
} public static int method02() {
return 0;
} public static void method01() {
System.out.println("无参无返回值的方法");
}

  方法的重载

    在同一个类中,方法名相同,参数列表不同(参数类型不同;参数个数不同;参数类型的顺序不同;),与返回值类型无关。(如果方法的名称和参数列表都一样,即使返回值类型不同,也不算重载,属于方法 的重复定义。)

    代码:

public static void main(String[] args) {
// 计算两个小数的和
method01(5.5,2.5);
// 计算两个整数的和
method01(5,2);
// 计算三个整数的和
method01(5,2,1);
} public static void method01(int i, int j, int k) {
int sum = i + j + k;
System.out.println(sum);
} public static void method01(double i, double j) {
double sum = i + j;
System.out.println(sum);
} public static void method01(int i, int j) {
int sum = i + j;
System.out.println(sum);
}

  

最新文章

  1. 使用bat(批处理文件类型)两步更改笔记本IP
  2. 常用.NET库使用总结
  3. Python 学习---------Day4
  4. Expression Tree 扩展MVC中的 HtmlHelper 和 UrlHelper
  5. ComponentOne 2016 年产品规划
  6. salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)
  7. Win7下通过eclipse远程连接CDH集群来执行相应的程序以及错误说明
  8. vpn与局域网冲突解决方案
  9. [转]W3C 验证 there is no attribute target for this element
  10. COJ WZJ的数据结构(负十八)splay_tree的天堂
  11. KindEditor简单的Demo使用
  12. Swift编程语言学习4.1——周期
  13. php文件去重复,二维数组筛选
  14. 7-zip 解压
  15. 结合JDK源码看设计模式——原型模式
  16. rabbitmq学习(五):springboot整合rabbitmq
  17. StartUML-类图
  18. OpenCV在未知相机内参数情况下的立体图像矫正方法及注意事项
  19. TypeScript----函数
  20. (http请求+cookie)的交互流程

热门文章

  1. ansible(一)
  2. Redis 学习笔记(篇三):跳表
  3. 打包成war包之后如何读取配置文件
  4. openstack namespace 的应用
  5. Azkaban —— 编译及部署
  6. Spring ——表达式语言 Spring Expression Language (转载)
  7. vagramt中同步文件,webpack不热加载
  8. hdoj2037 贪心算法——今年暑假不AC
  9. Js笛卡尔乘积
  10. java集合框架中的去重问题