12-11
续上篇
局部变量和成员变量
变量:
局部变量:
定义:在方法内定义的变量称为局部变量
作用域:从变量定义开始到方法结束
注意:
1、局部变量只能在当前方法中使用,其他地方都不能使用
2、局部变量如果没有使用,只是定义的话,不会报错,但是如果有引用那么必须先进行初始化才能使用
3、局部变量没有默认值,所以在使用之前必须先进行初始化
成员变量:(全局变量)
定义:在方法之外,类内定义的变量称为成员变量
作用域:整个类体都可以访问
注意:
1、成员变量有默认值,系统会根据变量的数据类型默认的给默认值
默认值:
int:0
boolean:false
String:null
成员变量
类里面为成员变量。 方法内为局部变量。
public class kongshan{
//属性
String name;
int age=19;
//方法
public void Dunn(){
//局部变量
String name = "空衫";
System.out.println(name);
int a;
// System.out.println(a); 错误
System.out.println(age);
}
public void pron(){
System.out.println(age);
name="XX ";
age = 20;
System.out.println(age);
name="YY";
age=30;
public static void main(String[]args){
kongshan non=new kongshan;
non.Dnnd();
non.pron();
}
}
}
/*输出
空衫
19
XX
20
YY
30
*/
栈:
存放:局部变量
– 先进后出,自下而上存储
– 方法执行完毕,自动释放空间
▪ 堆:
– 存放new出来的对象
– 需要垃圾回收器来回收:System.gc()
▪ 方法区:
– 存放:类的信息(代码)、 static变量、字符串常量等.
构造方法
在创建对象的时候默认会调用构造方法,在堆中进行存储,主要目的是为了对成员变量进行初始化操作
语法:
修饰符:4个,后面再讲(public、protected、[default]、private)
返回值:构造方法没有返回值
方法名:构造方法的名称必须和类名保持一致
参数列表:和普通方法一样
方法体:主要是为成员变量进行初始化操作
注意:
1、当程序中没有显示的声明一个构造方法的时候,系统会给你一个默认的不带任何参数的空构造方法来供你创建对象使用
2、当你在程序中显示的声明了一个非空的构造方法,那么java编译器就不会再给你那个空参的构造方法了,
但是这时候你又想用空参的构造方法,那么只有再定义一个构造方法了
3、一个类中可以有多个构造方法
重载(overload)
在一个类中可以有多个同名的方法,但是要求方法的参数列表不同
三方面的不同:
1、参数个数不同
2、参数类型不同
3、参数顺序不同
注意:
一般都需要使用构造方法的重载,因为成员变量可能会有很多个,但是我们只需要对部分成员变量进行初始化操作
sex = “Q仔”; System.out.println(“执行构造方法”)