您的位置 首页 java

java入门02–方法

方法类似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入门02--方法

作用域描述

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

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

文章来源:智云一二三科技

文章标题:java入门02–方法

文章地址:https://www.zhihuclub.com/174187.shtml

关于作者: 智云科技

热门文章

网站地图