s1mplesama

导航

JAVA方法

方法:    解决一类问题,执行一个功能的步骤的有序组合

       包含于类或对象中 

       在程序中被创建, 在其它地方被引用

 

优点:  使程序更简短清晰

       有利于程序维护

       提高开发效率

       提高代码重用性

 

命名规则:  小驼峰,

         下划线可能出现在测试方法名称中, 用于分隔:  test<MethodUnderTest>_<state>,例如 testPop_emptyStack。

 

定义:  

1 修饰符 返回值类型 方法名(参数类型 参数名){
2     ...
3     方法体
4     ...
5     return 返回值;
6 }

修饰符:    (可选)  

返回值类型:  方法返回值的数据类型, 没有返回值的情况下为void

方法名:    方法的实际名称

参数类型,参数名: 占位符, 方法被调用时传值给参数, 这个值称为实参或者变量.

参数列表:     方法的参数类型, 顺序, 和个数

方法体:    具体的语句,定义该方法的功能

 

方法调用:根据是否有返回值:

      有返回值时: 方法作为一个值

      无返回值时: 方法作为一个语句

 

重载:  方法名字相同但是参数列表不相同, 所以功能不同

    Java编译器根据方法签名判断哪个方法应该被调用。

 

变量作用域:  指变量可以被引用的部分,

        方法内部定义的变量为局部变量, 局部变量的作用范围从声明到包含它的块结束

        局部变量必须先声明

        方法的参数范围涵盖整个方法, 实际上为局部变量

        for循环的初始化部分声明的变量为局部变量, 范围是整个循环, 循环体内声明的变量适用于到循环体结束

        同一个方法中不同的非嵌套块可以多次声明同名的局部变量, 但不能再一个嵌套块中声明两次

 

命令行参数:  执行程序时紧跟在程序名后的信息

$ javac CommandLine.java 
$ java CommandLine this is a command line 200 -100

则:this is a command line 200 -100 会传入到args数组里

args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100

 

构造方法:   对象被创建时, 构造方法用来初始化一个对象, 构造方法名与类名相同, 没有返回值

        通常用来给实例变量赋值, 或者执行其它必要步骤

        Java提供默认的构造方法把所有成员初始化为0, 自定义构造方法后, 默认构造方法失效

        构造方法可以重载

 

可变参数:  JDK1.5开始支持传递同类型的可变参数给一个方法

           一个方法中只能指定一个可变参数, 必须是方法的最后一个参数

         编译器将其转型为一个数组,故在函数内,可变参数名即可看做为数组名

void function(String... args);
void function(String [] args);
//这两种方法等效, 不能当做重载
void function("Wallen","John","Smith");
void function(new String [] {"Wallen","John","Smith"});
//这两种方法调用效果相同

 

声明:  在方法声明中,在指定参数类型后加一个省略号(...)  

typeName... parameterName
    public static void printMax( double... numbers) {
        if (numbers.length == 0) {
            System.out.println("No argument passed");
            return;
        }
 
        double result = numbers[0];
 
        for (int i = 1; i <  numbers.length; i++){
            if (numbers[i] >  result) {
                result = numbers[i];
            }
        }
        System.out.println("The max value is " + result);
    }

当有可变参数方法重载时,优先匹配固定参数的方法,如: 

void function(String... args);
void function(String args1,String args2);
function("Wallen","John");

 

finalize()方法:  在对象呗垃圾收集器析构(回收)之前调用, 用来清除回收对象

          在finalize方法里指定对象销毁时候执行的操作

          关键字protected确保该方法不会被该类以外的代码调用

          java内存回收可以由JVM自动完成, 该方法为手动使用

protected void finalize()
{
   // 在这里终结代码
}

 

posted on 2018-11-04 23:59  s1mplesama  阅读(85)  评论(0编辑  收藏  举报