构造器(constructor 构造方法)。
变量,数组,对象都是存储数据的。stack(栈),heap(堆),method area(方法区)。
队列(FIFO)是先进先出,栈(FILO)是先进后出。
只要new对象就一定要找一个对应的构造方法执行。
构造方法要和类名相同。
变量:
局部变量:
定义:在方法内定义的变量称为局部变量。
作用域:从变量定义开始到方法结束。
注意:1,局部变量只能在当前方法中使用,其他地方都不能使用;
2、局部变量如果没有使用,只是定义的话,不会报错,但是如果有引用那么必须 先进行初始化才能使用;
3、局部变量没有默认值,所以在使用之前必须先进行初始化。
成员变量:(全局变量)
定义:在方法之外,类内定义的变量称为成员变量
作用域:整个类体都可以访问
注意:1、成员变量有默认值,系统会根据变量的数据类型默认的给默认值
int-->0 boolean-->false String-->null
public class Sort{
String name;
int age;
String sex;
void Test{
System.out.println("姓名:" + name + "年龄:" + age + "性别:" + sex);
}
public static void main(String[] args){
Scanner down = new Scanner(System.in);
down.Test();
down.name = "小明";
down.age = 10;
down.sex = "男";
System.out.println(down.name);
System.out.println(down.age);
System.out.println(down.sex);
}
}
构造方法:在创建对象的时候默认会调用构造方法,在堆中进行存储,主要目的是为了对成员变量进行初始化操作。
语法:
修饰符:4个,public、protected、[default]、private。
返回值:构造方法没有返回值;
方法名:构造方法的名称必须和类名保持一致;
参数列表:和普通方法一样;
方法体:主要是为成员变量进行初始化操作。
注意:
1、当程序中没有显示的声明一个构造方法的时候,系统会给你一个默认的不带任何参数的空构造方法来供你创建对象使用;
2、当你在程序中显示的声明了一个非空的构造方法,那么java编译器就不会再给你那个空参的构造方法了,但是这时候你又想用空参的构造方法,那么只有再定义一个构造方法了;
3、一个类中可以有多个构造方法。
重载(overload):在一个类中可以有多个同名的方法,但是要求方法的参数列表不同
三方面的不同:
1、参数个数不同;
2、参数类型不同;
3、参数顺序不同。
注意:
一般都需要使用构造方法的重载,因为成员变量可能会有很多个,但是我们只需要对部分成员变量进行初始化操作。