方法
构造方法
定义:构造方法是一个特殊的成员方法,名字必须与类相同,在创建对象时由编译器自动调用,并且在生命周期内只调用一次
演示:
特性:
1.构造方法名字必须与类名相同(如果不同,JAVA的编译器就会将该方法归结为成员方法,但是成员方法是必须有返回值类型,因此这就会导致编译通不过)
2.没有返回值类型,设置成void也不行
3.创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于每个人的出生,每个人只能出生一次)
4.构造方法可以重载(用户可以根据自己的需求提供不同参数的构造方法)
5.如果用户没有定义构造方法,编译器就会默认生成一个无参构造方法(用户定义了一个构造方法,编译器就不会自动生成的构造方法)
6.构造方法中,可以通过this调用其他的构造方法来简化代码( this()必须是构造方法中的第一条语句 ,且this不能形成相互调用关系)
7.构造方法中,可以通过super调用父类的构造方法来简化代码(必须写在自身构造方法的第一行)
8.子类在它的普通方法中不能调用父类的构造方法,只能在它自身的构造方法中才能调用
注意:
1.构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间
2.两个构造方法不能形成相互调用关系
3.涉及继承关系,虚拟机会先调用父类的构造方法,之后才去调用子类的构造方法
静态方法
定义:指被static修饰的成员方法就是静态方法,又称为类方法
演示:
public static int add(int i,int j){
return i+j;
}
调用:类名.add(1,2);
注意:
静态方法可以直接访问类变量和静态方法
2.静态方法不能直接访问普通成员变量和成员方法;成员方法可以直接访问类变量和静态方法
3.静态方法中不能使用this
实例方法
定义:方法类型前面不使用static修饰的是实例方法
演示:
class Student{
int sum(int a,int b) {//实例方法
return a+b;
}
}
使用:Student student = new Student();
student.sum(1,2);
变量
成员变量
定义:在类中定义的变量,成员变量分为静态变量(类变量) 和 实例变量
静态变量有static修饰,它从该类的准备阶段就存在了,直到系统销毁这个类,静态变量的作用域与这个类的生存范围相同;
实例变量没有static修饰,它从该类的实例被创建时就存在,直到系统销毁这个实例,实例变量的作用域与对应实例的生存范围相同;
静态变量使用:
类.静态变量
实例变量使用:
先new一个实例;再通过实例.实例变量
局部变量
定义:在方法中定义的
注意:
1.系统不会对它进行初始化,需指定初始值
2.局部变量会覆盖成员变量
3.尽量不要出现局部变量和成员变量重名的情况