1.构造方法
(1)定义:
①方法名与类名相同
②无返回值类型
③不能使用return返回一个值
满足以上三个条件的方法称为构造方法。对类实例化为一个对象时会自动调用构造方法。
(2)构造方法的重载:
一个类中可以定义多个构造方法,只要每个构造方法的参数类型和参数个数不同即可。
class
Perso{
String
name
;
int
age
;
//定义两个参数的构造方法
public
Perso(String
con_name
,
int
con_age
){
name
=
con_name
;
//为name属性赋值
age
=
con_age
;
//为age属性赋值
}
//定义一个参数的构造方法
public
Perso(String
con_name
){
name
=
con_name
;
//为name属性赋值
}
public
void
speak(){
//打印name,age的值
System.
out
.println(
"大家好,我叫"
+
name
+
"今年"
+
age
+
"岁!"
);
}
}
public
class
day01 {
public
static
void
main(String[]
args
) {
// 分别创建两个对象p1,p2
Perso
p1
=
new
Perso(
"陈杰"
);
Perso
p2
=
new
Perso(
"李芳"
,18);
// 通过对象调用speak()方法
p1
.speak();
p2
.speak();
// 分别访问p1,p2两个对象的属性
System.
out
.println(
p1
.
name
);
System.
out
.println(
p2
.
name
+
p2
.
age
);
}
}
运行后的结果是:
大家好,我叫陈杰今年0岁!
大家好,我叫李芳今年18岁!
陈杰
李芳18
2.this关键字
...(类中的变量称为成员变量)
...(方法中的变量称为局部变量)
①JAVA中提供了一个关键字this,通过this关键字可以明确地访问一个类的成员变量,解决与局部变量名冲突的问题。
②也可以通过this关键字调用成员方法。
③可调用构造方法:只能在构造方法中调用其他构造方法,不能在成员方法中使用。 使用this调用构造方法的语句必须位于第一行,且只能出现一次。
3.static
关键字
在JAVA中,定义了一个static关键字,它用于修饰类的成员,如成员变量、成员方法以及代码块等。
(1)静态变量:
在一个JAVA类中,可以使用static关键字来修饰成员变量,该变量被称作静态变量。
静态变量可以被所有实例共享
,可以使用“类名.变量名”的形式来访问。
class
Student{
static
String
schoolName
;
//定义静态变量schoolName
}
public
class
day03 {
public
static
void
main(String[]
args
){
Student
stu1
=
new
Student();
//创建学生对象
Student
stu2
=
new
Student();
Student.
schoolName
=
"传智博客"
;
//为静态变量赋值
System.
out
.println(
"我的学校是"
+
stu1
.
schoolName
);
//打印第一个学生对象的学校
System.
out
.println(
"我的学校是"
+
stu2
.
schoolName
);
//打印第二个学生对象的学校
}
}
运行结果为:
我的学校是传智博客
我的学校是传智博客
(
2)静态方法:
在类中定义的方法前加上static关键字,在不创建对象的情况下就可以调用某个方法,换句话说也就是使该方法不必和对象绑在一起。
同静态变量一样,静态方法可以使用“类名.方法名”的方式来访问,也可以通过类的实例对象来访问。
class
Person{
public
static
void
sayHello(){
//定义静态方法
System.out.println("hello");
}
}
public
class
day03 {
public
static
void
main(String[]
args
){
Person.
sayHello
();
//调用静态方法
}
}
(3)静态代码块:
在Java类中,使用一对大括号围起来的若干行代码被称为一个代码块,用static关键字修饰的代码块称为静态代码块。 当类被加载时,静态代码块会执行,由于类只加载一次,因此静态代码块只执行一次。 在程序中,通常会使用静态代码块来对类的成员变量进行初始化。