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) 编辑 收藏 举报