当一个类中多个方法有相同编码,或该部分编码可以作为一个整体,适合抽取出一个方法时,要注意这个抽取的方法的返回值,什么时候可以用void,什么时候不能用void?

先看代码:

import lombok.Data;

import org.junit.Test;

public class MyTest {

@Test

public void test(){

Student student = new Student();

student.setName("Jacky");

int age = 18;

Double score = 80.0;

this.setValue(student, age, score);

System.out.println("age = " + age);

System.out.println("score = " + score);

System.out.println(student);

}

private void setValue(Student student, int age, Double score){

age += 1;

score += 10.0;

student.setAge(age);

student.setScore(score);

}

@Data

class Student{

String name;

int age;

Double score;

}

}

运行结果:

age = 18

score = 80.0

MyTest.Student(name=Jacky, age=19, score=90.0)

上面例子说明,当抽取方法参数是普通类时,方法返回值适合用void,相当于“把该类在一个地方过了一遍”;当抽取方法的参数是基本类型或包装类型时,该方法应该有返回值。

Java什么时候该加void_平时容易忽视的地方之一:java在抽取方法时,什么时候该用void...相关推荐

  1. java让关键词自动加超链接,ASP实现关键词自动添加超链接代码与使用方法

    网站内链模块是SEO常提到的一个优化模块,给关键词锚文本添加超链接,如果手动添加,既不好维护也浪费人力,下面青岛星网跟大家分享:ASP实现关键词自动添加超链接代码与使用方法. ASP关键词自动替换函数 ...

  2. java 线程加载类_怎么判断java当前线程是否加载了一个类的字节码

    展开全部 原生的ClassLoader是有e68a843231313335323631343130323136353331333337616631一个方法判断类是否已经加载的/** * Returns ...

  3. SM2加密解决java与iOS端加解密不配套问题

    SM2加密解决java与iOS端加解密不配套问题 问题描述 问题判定 代码 声明 问题描述 使用java开发的SM2加解密,由java层生成SM2公私钥,iOS.Android(因和java层一致,暂 ...

  4. 前端(Vue)sha512加密、后端(Java)sha512加密后加盐实现完整流程

    搜索时发现sha512加密(加盐)的内容很少 所以过来添一块砖 文章目录 写在前面 一.理解一下SHA512加盐 二.前端项目实现SHA512加密 1.前端页面中引入js工具类 2.调用CryptoJ ...

  5. Java虚拟机 —— 类的加载机制

    我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验.转换.解析和初始化过后,最终形成可以直接使用的Java类型. 类从 ...

  6. java类二次加载_深入理解java之类加载器

    一.类与类加载器 类加载器:实现加载阶段的第一步,通过一个类的全限定名来将这个类的二进制字节流加载进jvm. 类与类加载器:任意一个类唯一性都是由它本身和加载它的类加载器确定,两个类是否相等在它们是由 ...

  7. java类是如何加载的?不知道classLoader和双亲委派,不是一个合格的程序员

    目录 详细图送上 类加载器子系统 类的加载过程 加载(loading)阶段 链接(linking) 验证(Verify) 准备(Prepare) 解析(Resolve) 初始化(Initializat ...

  8. java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...

    Java虚拟机是如何加载Java类的?  这个问题也就是面试常问到的Java类加载机制.在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样. ...

  9. Java扩展机制可加载所有JAR

    Java扩展机制在Java教程中被描述为"一种标准的,可伸缩的方式,以使自定义API可供Java平台上运行的所有应用程序使用." 如了解扩展类加载中所述 ,"扩展框架利用 ...

最新文章

  1. 开放式创新改变世界——OpenStack生态系统将重新洗牌
  2. EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证...
  3. 从 NavMesh 网格寻路回归到 Grid 网格寻路。
  4. 记得【黑镜】中的Whac-A-Mole游戏吗?HoloLens实现了!
  5. Oracle中加速索引创建或重建的方法
  6. UVa 11168 Airport , 凸包
  7. php读取远程二进制文件,php 读取二进制文件
  8. DOM的appendchild在IE6、7下不兼容
  9. QD75运动模块使用
  10. 【线段树】二进制(luogu 4428)
  11. shell 生活0806012145
  12. 【科普】OFFICE 365 outlook 如何导入其他邮箱的联系人
  13. 交通运输部:预计五一假期全国客运量2.65亿人次
  14. 天下无难试之Redis面试刁难大全「原创」
  15. 转: android apk 防止反编译技术(1~5连载)
  16. 「代码随想录」343. 整数拆分【动态规划】详解!
  17. 计算机显示器刷新率怎么调,电脑显示器刷新率如何设置,免费教你如何快手设置刷新率...
  18. 一文吃透电源中的纹波、噪声和谐波
  19. 银行业保险业数字化转型指导意见下发,IT 基础架构团队如何应对挑战?
  20. Qt实现Windows风格无边框

热门文章

  1. windows的php如何安装目录结构,禅道的目录结构
  2. 无线获取不到地址 服务器,部分无线终端无法通过DHCP获取IP地址问题经验案例...
  3. 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid
  4. Centos7系统启动流程
  5. Vulhub搭建小记
  6. Selenium WebDriver- 操作 IFrame 中的页面元素
  7. We will be discontinuing the Nitrous Development Platform and Cloud IDE on November 14th, 2016.
  8. java字符串的课后作业
  9. 计数排序之python 实现源码
  10. (转) Android 数字签名