1.概念

Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可

2.实战演练

2.1 测试传入参数与返回值方法

目录结构

代码

package cn.test.logan.day04;

import java.util.ArrayList;

public class MethodDemo {
public int num1;
public int num2; // 方法:用来封装一段逻辑
// 定义方法的语法:public 返回值类型 方法名() { //逻辑 }
public int getSum() {
int sum = num1 + num2;
return sum;
} // 没有返回值的方法,使用void表示
public void say() {
System.out.println("此时是没有返回值的方法,哈哈");
} // 带参数但没有返回值的方法 ,同名方法,但是参数列表不一样,叫方法的重载
public void say(String param) {
System.out.println("我的输入参数是:"+param);
} // 带多个参数并且没有返回值的方法
public void say(String param1,String param2) {
System.out.println("输入的第一个参数是:"+param1);
System.out.println("输入的第二一个参数是:"+param2);
} // 带参数并且有返回值的方法
public int getDiff(int a,int b) {
int diff = a - b;
return diff;
} // 用来对ArrayList排序
public static void sortForArrayList(ArrayList<Integer> list) {
for(int i=0;i<list.size()-1;i++) {
for(int j=0;j<list.size()-1-i;j++) {
if(list.get(j) > list.get(j+1)) {
int tmp = list.get(j);
list.set(j, list.get(j+1));
list.set(j+1, tmp);
}
}
}
}
// 打印ArrayList
public void print(ArrayList<Integer> list) {
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}

MethodDemo.java

package cn.test.logan.day04;

import java.util.ArrayList;

public class MethodTest {
public static void main(String[] args) {
MethodDemo md = new MethodDemo();
md.num1 = 12;
md.num2 = 13; int sum = md.getSum();
System.out.println("两个数字的和为:"+sum); System.out.println("----------------------------");
// 调用没有返回值的方法
md.say();
System.out.println("----------------------------");
// 调用带参数, 没有返回值的方法
md.say("参数1");
System.out.println("----------------------------");
// 调用带多个参数, 没有返回值的方法
md.say("参数A","参数B");
System.out.println("----------------------------");
// 调用带参数,有返回值的方法
int diff = md.getDiff(20, 10);
System.out.println(diff);
System.out.println("----------------------------"); // 定义一个ArrayList,并按从小到达顺序排序后打印
ArrayList<Integer> al = new ArrayList<>();
al.add(20);
al.add(10);
al.add(40);
al.add(15); md.sortForArrayList(al);
md.print(al);
} }

MethodTest.java

2.2 测试成员方法和静态方法

成员方法,又称为对象的方法,和对象存在关系,需要使用对象调用。

静态方法,又称为类的方法,和对象不存在关系,可以直接使用类调用。

代码

public class MethodDemo2 {
public String name; // 定义一个类的方法(静态方法)
/**
* 这样的方法,跟具体对象没关系
* 这样的方法,就可以了定义为类方法-->类的方法
* 静态方法可以直接使用类调用
*/
public static void print() {
System.out.println("hello");
} // 定义一个(对象的方法)成员方法
public void showName() {
System.out.println("hello,"+this.name);
}
}

MethodDemo2.java

package cn.test.logan.day04;

public class MethodTest2 {
public static void main(String[] args) {
// 静态方法调用
MethodDemo2.print();
// 成员方法调用
System.out.println("---------------------------");
MethodDemo2 m2 = new MethodDemo2();
m2.name="Jack";
m2.showName();
}
}

MethodTest2.java

【BigData】Java基础_方法的定义与使用的更多相关文章

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

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

  2. 关于java基础_方法的学习

    方法: 方法就是把一堆需要反复执行的代码封装起来,如果项目需要调用这段代码时,直接调用方法名即可 方法相当于榨汁机, 材料:水果 产出物:果汁 参数(材料):进入方法的数据 返回值(产出物):就是方法 ...

  3. 2.Java基础:方法定义和调用

    一.方法的定义 1.类的方法代表的是实力的某种行为(或功能) 方法的定义:方法类型 . 方法签名 . 方法体 2.定义类的方法 访问修饰符 类型 方法名(参数列表){ ///方法体 } 3.把方法当作 ...

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

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

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

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

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

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

  7. java基础(7)--方法

    方法 Math.sqrt() 取平方 Math.pow(2,3) 2的3次方 方法(Method),就是数学函数(Function). 业务方面: 是功能,是动作,一般采用动词命名. 数据层面:是利用 ...

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

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

  9. java基础—equals方法

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

随机推荐

  1. 并查集 + 路径压缩(经典) UVALive 3027 Corporative Network

    Corporative Network Problem's Link Mean: 有n个结点,一开始所有结点都是相互独立的,有两种操作: I u v:把v设为u的父节点,edge(u,v)的距离为ab ...

  2. 【计算机组成原理】中央处理器CPU

    一.CPU的功能和基本结构 1.功能 当用计算机解决某个问题是,我们首先必须为他编写程序,程序是一个指令序列,这个序列明确告诉计算机应该执行什么操作,在什么地方找到用来操作的数据,一旦把程序装入内存器 ...

  3. Redis(六)管道(Pipelining)

    管道技术并不是Redis特有的,管道技术在计算机科学中有很多地方的应用. 来自wiki的解释: In computing, a pipeline, also known as a data pipel ...

  4. 基于注解的SpringAOP源码解析(二)

    在上篇文章 中我们搭建了一个阅读源码的demo工程,然后简单介绍了一下@EnableAspectJAutoProxy注解,这个注解最重要的功能就是为向Spring中注入了一个beanAnnotatio ...

  5. Vue配置路由和传参方式及路由守卫!

    安装路由 npm i vue-router -S 引入路由 import VueRouter form VueRouter 注入路由模块 Vue.use(VueRouter) 定义路由匹配规则 let ...

  6. Centos下安装LoadRunner负载机

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd0AAADfCAIAAAA84J6GAAAgAElEQVR4nJzb93cbR6In+uK/8v6Fd8

  7. JavaScript Timing 事件及两种时钟写法

    JavaScript 可以在时间间隔内执行. 这就是所谓的定时事件( Timing Events). ------------------------------------------------- ...

  8. MySQL Error--InnoDB Table mysqlinnodb_index_stats has length mismatch in the column

    使用MySQL 5.7.24版本的安装文件替换MySQL 5.7.19版本的安装文件,数据库复制频繁中断,查看error日志发现下面错误: [Warning] InnoDB: Table mysql/ ...

  9. 使用fio命令查看磁盘iops

    具体命令: fio -filename=./localhost.2019-05-08.log -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psy ...

  10. kibana自动创建索引

    一般索引按月.季或年为单位创建索引.我这里写成logstash-www-2019-03,www是URL的二级域名.格式类型完全根据自己方便就行. 当ELK集群中的索引过多时,我这里有100多个不同的日 ...