目录
一、成员变量和局部变量
1.定义
2.区别
(1)相同
(2)不同
二、方法和构造方法
1.定义
2.构造方法细节
3.方法重载
一、成员变量和局部变量
1.定义
(1)成员变量是指在类体内,方法体外的变量。格式如下:
[访问权限修饰符] [修饰符] 数据类型 变量名。
(2)局部变量是指在方法体内的变量(方法的形参也属于局部变量)。方法体包括成员方法、构造方法、代码块。格式如下:
数据类型 变量名。
2.区别
(1)相同
成员变量和局部变量都可以使用java中的任意数据类型。
(2)不同
(1)赋值:成员变量可以不用初始赋值,java会为其默认赋值。局部变量需要初始赋值,不会被默认赋值。
(2)作用域:成员变量作用于整个类体,可以被成员方法、构造方法、代码块进行访问。局部变量只能作用于所在的代码块(成员方法、构造方法也可以看成代码块)内。
(3)生命周期:成员变量在创建对象时创造,对象被回收时被销毁。 局部变量在调用方法时创造,方法执行完销毁。
二、方法和构造方法
1.定义
(1)方法又称成员方法,用来描述事物的行为。定义在类体中。格式如下:
[访问权限修饰符] [修饰符] 返回值类型 方法名( [参数列表]) {
方法体语句;
[return 返回值]
}
(2) 构造方法用来初始化对象,方法名和类名相同,且没有返回值,无需void进行修饰。格式如下:
[访问权限修饰符] 类名([参数列表]){
方法体语句;
}
2.构造方法细节
(1)每个类默认都有一个无参构造方法。在前面有提到java会给成员变量默认赋值,实际上就是创建对象时,无参构造方法初始化对象的操作。
默认赋值根据数据类型会有所不同:
引用类型:NULL; 整数类型:0; 浮点型:0.0; 布尔型:false; 字符型:‘ ’;
(2)当在类中定义有参的构造方法后,默认的无参构造方法就会消失,如果需要就需要显示定义出来。
(3)一个类中可以有多个构造方法。这与方法重载有关。
3.方法重载
同一个类中出现了相同的名字,但是参数不同的多个方法。
当多个方法名字相同时:若参数数量不同,则根据数量区分方法;若参数数量相同,则可根据参数类型区分方法,若数量和类型均相同,则可根据顺序区分方法。
总结下来就是,参数不同可分为三种不同:数量不同、类型不同、顺序不同。
在调用时,会根据不同的参数调用对应的方法。
注意:方法的重载和方法的返回值类型没有任何关系。(因为Java 编译器在调用方法时,根据方法名和参数列表来确定具体调用哪个方法。返回值类型在调用时无法帮助编译器区分方法,因此不能作为重载条件。)