方法

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

  定义格式:

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

    方法体语句;

       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);
}

  

Java基础之方法的更多相关文章

  1. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  2. Java基础——clone()方法浅析

    一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  3. Java基础02 方法与数据成员(转载)

    对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象.   调用同一对 ...

  4. java基础(6):方法

    1. 方法 1.1 方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可 ...

  5. Java基础之方法详解

    方法的所属性 在Java的语言中,方法相当于C语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,函数是一等公民,整个程序是由一个个函数组成的:但是在面向对象的语言里,类是一等公民,整 ...

  6. 关于java基础_方法的简单习题

    package day05; import java.util.Arrays; /** * 方法作业 * @author ASUS * */ public class Demo6 { /* * 1.定 ...

  7. 【java基础】方法2

    让形参可变的方法 jdk1.5之后,java允许定义形参长度可变的参数,允许为方法指定数量不确定的形参. package object; public class VariableParam { // ...

  8. Java基础--继承方法调用顺序

    最近因为面试的原因,回过头来复习基础的知识,都忘光了,准备买本面试书回来啃. 我先把自己测试的结论总结写出来,以后忘记再来看看 如果b类继承自a类,在main方法中new出b的对象(不带参数),那么他 ...

  9. Java基础--finalize()方法

    原理: 一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并在下一次垃圾回收动作发生时,才会真正回收对象占用的内存. 用途: 1)释放通过某种创建对象方式以外的方式为对 ...

  10. [ 转载 ] Java基础13--equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

随机推荐

  1. YARN分析系列之三 -- 从脚本入口分析 ResourceManager的初始化过程

    1. 由脚本找到 RM 主类 这部分,我们从脚本作为入口去逐步深入ResourceManager源码. 从 Hadoop 官方文档 中可以看到 ResourceManager 的启动命令为: Usag ...

  2. 03 我的第一个html页面

    <!--定义文档的类型,一个html就是一个文档--> <!DOCTYPE html> <html lang="en"> <!--head ...

  3. 时间段(今天,昨天,本周,上周,本月,上月,总)的查询,时间处理函数strtotime

    需求:最近get了一个很好用的PHP关于时间的函数strtotime,因为最近有个项目涉及到很多时间段(今天,昨天,本周,上周,本月,上月,总)的查询,要根据指定时间算出它每个范围的开始时间和结束时间 ...

  4. volatile的内存语义与应用

    volatile的内存语义 volatile的特性 理解volatile特性的一个好方法是把对volatile变量的单个读/写,堪称是使用同一个锁对这些单个读/写操作做了同步. 锁的happens-b ...

  5. Hackbar再次更新后的破解思路 v2.2.6

    不得不说在日常测试和渗透测试中hackbar这一插件给我带来了很大的便利 Hackbar在2.1.3之后的版本就开始收费了虽说价格不是很贵,但我们还是本着学习研究的心态来看看怎么绕过收费验证. 谷歌: ...

  6. [AI开发]目标跟踪之速度计算

    基于视频结构化的应用中,目标在经过跟踪算法后,会得到一个唯一标识和它对应的运动轨迹,利用这两个数据我们可以做一些后续工作:测速(交通类应用场景).计数(交通类应用场景.安防类应用场景)以及行为检测(交 ...

  7. Java项目案例之---常用工具类练习

    常用工具类练习 1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日 import java.util.Scanne ...

  8. 剑指offer第二版-3.数组中重复的数

    面试题3:数组中重复的数 题目要求: 在一个长度为n的数组中,所有数字的取值范围都在[0,n-1],但不知道有几个数字重复或重复几次,找出其中任意一个重复的数字. 解法比较: /** * Copyri ...

  9. .NET Core CSharp初级篇 1-1

    .NET Core CSharp初级篇 1-1 本节内容是对于C#基础类型的存储方式以及C#基础类型的理论介绍 基础数据类型介绍 例如以下这句话:"张三是一名程序员,今年15岁重50.3kg ...

  10. 关于导入别人的web项目,tomcat无法显示的问题

    这两天头大,老师讲了javaWeb项目,讲完就给我们发了代码,我就想导入直接用,结果它tomcat的add and remove 里一直没有这个项目名字 刚导入还报错,这个可能我的版本太低了,兼容不了 ...