龙空技术网

java入门02--方法

icheck 240

前言:

当前姐妹们对“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中构造器和方法的区别是什么