一、内存分析;
1、栈:
①存放:局部变量;
②先进后出,自下而上存储;
③方法执行完毕,自动释放空间;
2、堆:
①存放new出来的对象
②需要垃圾回收器(GC)来回收:System.gc();
3、方法区:
①存放:类的信息(代码)、static变量、字符串常量等;
二、构造方法
1、构造方法的使用:<Student student = new Student();>
2、构造方法:
public class Student{
String name;
int age;
String sex;
public Student(){
name = "小明";
age = 18;
sex = "男";
System.out.println("该构造方法被执行");
public static void main(String[] args){
Student student = new Student();
}
}
}
3、构造方法的定义:
①构造方法与普通方法不同,构造方法没有返回值,且构造方法名与类名相同;
②当你没有搭建一个构造方法时,系统会帮你提供一个默认无参的构造方法供你使用;
三、构造方法的重载
1、自定义构造方法时,系统不再提供默认无参构造方法
2、方法的重载:①方法名相同②参数项不同③与返回值访问修饰符无关
四、构造器
1、构造器定义:constructor构造方法
①一个在创建对象时被自动调用的特殊方法。
2、构造器作用:为对象进行初始化(成员变量)工作;
3、构造器是一种特殊的方法:
①构造器的方法名必须和类名一致;
②构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构 造器里调用return;
③通过new关键字调用;
④如果我们没有定义构造器,则系统会自动定义一个无参的构造方法,如果已定义则编 译器不会添加无参数构造方法!
⑤和普通方法一样,构造方法也可以重载;
五、方法调用
1、形参和实参:
①定义方法的参数是形式参数;
②调用方法的参数是实在参数;
③调用方法是要求参数个数相同,类型兼容;
2、参数传递:
①基本数据类型的参数传递--->无法通过方法调用改变变量的值;
②引用数据类型的参数传递--->可以通过方法调用改变变量的 值;