什么是方法?
方法是语句的集合,他们在一起执行一个功能
eg: System.out.println()
:调用System类
中的out对象
中的println方法
设计方法的原则:一个方法只实现一个功能
方法的定义
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段
一个方法包含一个方法头和一个方法体
修饰符 返回值类型 方法名(参数类型 参数名){ //值传递
...
方法体
...
return 返回值;
}
方法的重载
重载: 在一个类中,有相同的函数名称,但形参不同的函数,返回值类型可以相同也可以不相同
方法可以有无限个重名的,但是要保证参数类型不同
命令行传参
main方法
也可以传递参数
package com.zlsaxx.method;
public class Demo02 {
public static void main(String[] args) {
for (int i = 0 ; i <= args.length;i ++){
System.out.println("args[" + i + "]=" + args[i]);
}
}
}
在文件夹中打开命令行:
可变参数
JDK1.5开始,Java支持传递同类型的可变参数给一个方法 (不定项参数)
一个方法中只能指定一个可变参数,但它必须是方法的最后一个参数
package com.zlsaxx.method;
public class Demo01 {
public static void main(String[] args) {
test(1,5,9,0,2,7,4,8);
}
public static void test(int... a){
for(int i = 0;i <= a.length;i ++){
System.out.println("a[" + i + "]=" + a[i]);
}
}
}
运行结果:
static 静态方法的调用
静态方法存在的早,和类一起加载的;非静态方法只有在类实例化之后才存在
所以在静态方法中直接调用非静态方法会报错!
引用传递
package com.oop.demo01;
public class Demo02 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name); //null
Demo02.change(person);
System.out.println(person.name); //zls
}
public static void change(Person person){
person.name = "zls";
}
}
//定义了一个Person类,有一个属性:name
class Person{
String name;
}
person
是一个对象:指向的—>Person person = new Person();
这是一个具体的人,所以他的属性可以改变