前言:
当前姐妹们对“java中构造器和方法的区别是什么”大体比较关注,我们都需要剖析一些“java中构造器和方法的区别是什么”的相关文章。那么小编在网络上搜集了一些有关“java中构造器和方法的区别是什么””的相关资讯,希望同学们能喜欢,看官们一起来了解一下吧!方法类似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其他的学习也就是比较简单
一个变量,是引用类型的变量,那么经过一个方法后,引用类型变量值可能会改变(主要取决于方法内部有没有修改这个值,通过get,set 或者直接赋值的方式),这个是很多初学者的困惑(本人也是经历过);基本类型则不受改变
工作中java需要掌握哪些内容呢?后面会有一篇介绍一下
标签: #java中构造器和方法的区别是什么