方法类似C/C 中的函数,java语言会有所差异

java中方法描述有以下修饰符顺序:权限修饰 静态修饰符 返回值 方法名 参数列表

方法命名建议用动词开头,因为方法本身类似于行为动作

权限修饰工作中使用最多是public 和private(注意private修饰的不会被事务管理,事务管理是基于public修饰权限的)

返回值:void 或者其他 void无返回的,本质上也是返回的一种特殊类型

方法名:建议唯一名称命名,比较特殊是常见的构造器参数方式名字一样参数列表不同(这个不必特殊记忆,认识一下,工作中会有很多),同名方法参数列表不同

参数列表: 一般指的形式参数,基本类型(byte short int double long)和引用类型

public class IMethod { public static void main(String[] args) { String name = "tom"; String useName = getUseName(name); System.out.println(useName); } /** * 公共方法 * @param name * @return */ public static String getUseName(String name ){ return name; } /** * 默认default * @param num * @return */ static int getNum(int num){ return num; } /** * private 私有方法 * @param num * @return */ private static int getNum2(int num){ return num; } }

方法调用:静态方法只能调用静态方法;

非静态方法可调用静态和非静态方法

这种差异问题:由于jvm加载类决定,静态随类加载,而非静态随对象调用;即类的加载早于对象的创建,因此不能在静态中调用非静态方法

public ,private protected default四种都可以修饰方法,工作中常用public和private

什么时候确定用方法呢,可以抽取尽量抽取方法:主要是代码层次明确和维护性较好,另外可以减少同名变量的干扰(个人理解)

idea快捷键:ctrl alt m 抽取

抽取时机:当确定了该段代码的始末,就是做事情的开始和结束后

静态修饰符:static修饰 ,工作中一般工具类中比较常用;static修饰的会加载到静态区;加载速度上会优于无static的

在多线程中:static 修饰方法 用synchronized修饰的方法,锁的是类对象;非静态用synchronized修饰的则是锁的是对象,了解多的话可以用jstack看堆栈信息

返回值和无返回值:如果不需要使用方法的返回结果可以不用返回值,需要用方法的返回结果就返回具体要返回的值的类型

/** * 无返回值 * @param food */ public static void eat(String food){ System.out.println(food); }

方法名:做到见名知意,即:看到方法名就知道具体具体做什么

参数列表:简单讲就是多个不同类型的参数的组合,示例中有构造参数也有常规参数

public class Student { private String name; private Integer age; public Student(){ } public Student(String name){ this.name = name; } public Student(String name,Integer age){ this.name = name; this.age = age; } public Student(Integer age,String name){ this.name = name; this.age = age; } public void readBook(String bookType,String bookName){ } }

构造方法有带参数的构造方法(无参构造)和带参数的构造方法;方法名是相同但是参数的个数和类型不同

public Student(String name,Integer age){ this.name = name; this.age = age; } public Student(Integer age,String name){ this.name = name; this.age = age; }

以上两个方法:参数列表的顺序也就是两个方法

怎样区分呢?从左到右,类型不同,方法也就不同

这样:从修饰符,返回值,方法名称,参数列表 四个维度描述

工作中,public 和private居多

下一个讲:方法的生命周期,在学习java的路中,搞懂了方法和方法的生命周期,变量的生命周期,java其他的学习也就是比较简单

java入门第一课(java入门02--方法)(1)

作用域描述

一个变量,是引用类型的变量,那么经过一个方法后,引用类型变量值可能会改变(主要取决于方法内部有没有修改这个值,通过get,set 或者直接赋值的方式),这个是很多初学者的困惑(本人也是经历过);基本类型则不受改变

工作中java需要掌握哪些内容呢?后面会有一篇介绍一下

,