栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[JAVA学习笔记] 21天学习挑战赛之方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[JAVA学习笔记] 21天学习挑战赛之方法

​写在前面

本文介绍了JAVA方法的相关学习以及使用过程中的一些书写规范,方法的修饰符(访问,静态等)若有需要,请在评论区留言,会在后续补充。
​

JAVA学习之方法

定义

格式

作用

方法重载

书写规范

缓存方法调用的值

 避免冗长的参数列表

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…

…

**

JAVA学习之方法

**
定义

一种语法结构,将一段代码封装成一个功能,以方便重复调用。

格式
[访问修饰符] [static] [返回值类型|void] functionName(Object params){
    //Todo...
}

tips:

若方法不需要返回值,则必须被void关键字修饰;

若定义了方法的返回值类型,则必须有return且return与}之间不能有其他代码;

参数列表可以没有,直接通过functionName()调用方法.

作用

方法可以将功能拆分出来,使代码的逻辑更为清晰;

将功能拆分出来有利于提高代码的复用性,避免代码冗杂。

方法重载

是Java多态性的代表之一

在同一个类中,多个方法名相同,形参列表不同

用于实现功能相似的场景,保持代码具有良好的可读性。

书写规范

缓存方法调用的值

调用有返回值的方法,应定义对应变量保存返回值,防止对方法重复调用(平时写代码时没怎么注意,但在项目中有打印log的需求时发现了这个问题,方法被我多次调用,导致我输出的log重复打印了多次),提高运行效率。

 避免冗长的参数列表

当参数列表很长时,可以将该参数列表封装一个类,保持代码的整洁性与良好的可读性(一个方法的参数列表长度尽量不要超过5个),然后通过setter与getter方法去为参数赋值与取值。

下面是作者做项目时写的一个方法:

protected String doConversionForBase(String sheet, String type, String data, String key, String[] headers,int row) {
    //TODO...
}

 显然,方法的参数很长,很影响代码的可读性

 将参数列表封装成Data类

public class Data {
	private String sheet;
    private String type
	private String data;
	private String key;
	private String[] headers;
	private int row;
	public Data() {
		super();
	}
	public String getSheet() {
		return sheet;
	}
	public void setSheet(String sheet) {
		this.sheet = sheet;
	}
    public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getData() {
		return data;
	}
	public void setData(String data) {
		this.data = data;
	}
	public String getKey() {
		return key;
	}
	public void setKey(String key) {
		this.key = key;
	}
	public String[] getHeaders() {
		return headers;
	}
	public void setHeaders(String[] headers) {
		this.headers = headers;
	}
	public int getRow() {
		return row;
	}
	public void setRow(int row) {
		this.row = row;
	}
}

方法便可以定义为:

protected String doConversionForBase(Data rowdata) {
	String sheet = rowdata.getSheet();
    String type = rowdata.getType();
	String data = rowdata.getData();
	String keys = rowdata.getKey();
	String[] headers = rowdata.getHeaders();
	int row = rowdata.getRow();
    //TODO...
    return "";
}

调用方法前只需要实例化Data类,调用setter方法传递属性值便可以了。

Data rowdata = new Data();
rowdata.setHeaders(headers);
rowdata.setType(type);
rowdata.setData(data);
rowdata.setKey(key);
rowdata.setSheet(sheet);
rowdata.setRow(row);
String result = co.doConversionForBase(rowdata);

代码现在看起来就很清晰了。 

…

​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号