方法就是很多语句的集合,使用这个方法就等于使用这些语句。
方法的目的
代码复用。
方法的声明
语法结构:【修饰符列表】 返回值类型 方法名(参数列表){方法体}
修饰符列表:
权限修饰符:
public
private
其他:
static修饰成员或者静态 不加static就是成员
方法名:
望文知意
命名规范
注意:大小写字母,美元符号,下划线,数字,数字不能打头,不能单独使用关键字和保留字
方法体:代码段,保存代码。
返回值类型:
运行方法后,是否需要响应数据?
有,就需要写返回数据对应的类型(11种数据类型)
8种基本数据类型(byte,short,long,int,boolean,char,float、double)
3种引用数据类型(类,数组,接口)
不需要,加void/
参数列表
使用方法,需要传递的数据
形参:是指在方法定义处, 需要传入的参数类型的定义。
实参:调用方法的时候,实际传入的值。
变量:局部变量。
方法的分类
静态方法:使用static修饰的方法
成员方法:没有static修饰的方法
构造方法:是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
方法的调用
静态方法
类名.静态方法名(参数);
当前类中类名可以省略
public class Method_05 {
public static void main(String[] args) {
m1();
Method_05.m1();
//调用别的类的静态方法的时候,必须加类名
//m2();
A.m2();
成员方法
对象.成员方法名(参数);
方法不调用不执行,调用才执行,并把结果返回到方法调用处
**
方法调用数组的传递
1 先声明一个数组类型的变量,然后调用方法时传递变量
int[] is = {1,2,3,4};
println(is);
2 直接在调用方法时传递一个数组对象
方法名( new 数据类型[]{数据} )
println(new int[]{1,2,3,4});
注意
// 没有堆内存数组对象
int[] arr1 = null;
// 有堆内存数组对象,但是里面 没有数据
int[] arr2 = new int[0];
方法的重载 Overload
**
唯一性
方法名相同,参数列表不同,叫方法重载。
参数列表不同又分为:
个数不同
类型不同
注意:
重载和返回值 以及修饰符列表 都没有关系。
构造方法
1 构造方法作用 : 创建当前类的实例化对象.并初始化成员属性
2 如果不指定构造方法,系统会默认指定一个无参构造
3 如果我们指定了构造方法,不管我们指定的是无参还是有参,系统都不会再指定无参构造所以 建议大家在设置有参构造的时候,再指定一个无参构造
4 构造方法也可以重载 可以根据需求,创建多个构造方法
5 构造方法语法 : 修饰符 类名(参数列表…){方法体}
6 注意 :不能加static,构造方法具有双重性
想要提供一个创建对象的方法,那么这个方法一定是静态的
静态方法中不能直接访问成员属性,成员方法中可以,所以想要初始化成员属性,必须放在成员方法中 ,所以构造方法是成员的
所以想要创建对象并初始化成员属性,这个方法必须具有静态和成员双属性
public class Constructor_01 {
int age;
public static void main(String[] args) {
Constructor_01 c = new Constructor_01(12);
System.out.println(c.age);
}
public Constructor_01(int i) {
age = i;
}
public Constructor_01() {
age = 18;
}
}