---------------------
复习
类和对象:
类:
所有同种对象共同拥有的特征/行为,抽象出来类
对象:
符合类的特征的具体存在的个体
实例化:Student stu =new Student()
类(成员变量+成员方法):
成员变量:
基本数据类型:0
引用数据类型:null
成员方法:
局部变量 和 成员变量的区别
1.声明位置
2.初始值
3.个数
4.内存中的位置
------------------------------------
1.构造方法(构造器)
1).目的:给成员变量初始化
2).定义方式
a.方法名与类名相同
b.没有返回值类型(包括void,void是类型,表示没有返回值)
c.默认添加无参数的构造器
d.如果有自定义的有参数构造方法,不会再默认添加无参构造器
2.this关键词
1).this关键词表示当前对象
2).在构造方法中,this也可以调用自己的成员变量。如果成员变量名和局部变量名相同时
(局部变量会覆盖掉成员变量)必须使用this关键词
3).在构造器中,可以调用自己的成员方法(可不使用this关键词)
4).this也可以调用自己的构造方法,this(参数),this不能省略
注意:不能同时调用,会造成死循环,并且只能放在构造器的第一行使用
3.方法重载
1)方法名一样,方法参数不一样的几个方法,称之为方法重载
2)参数不一样的情况:
a.个数不同
b.类型不同
c.顺序不同
d.和参数名没有任何关系
3).方法重载和返回值无关
4).前提: 必须是在同一个类中才能造成方法的重载
4.数组和引用数据类型结合 - 引用类型数组
1)数组定义方式
a.静态赋值
ps: Student[] s = {new Studnet(),new Studnet()};
b.动态赋值
ps. Student[] s = new Student[2];
2)有可能出现的异常:
NullPointerException - 空指针异常
a.产生的原因:
调用了空值的 成员变量 和 成员方法
b.解决办法:
调用前 new一个对象(实例化对象)
3)引用类型数组的使用步骤:
a.给数组初始化
ps: Student[] s = new Student[2];
b.给数组元素初始化
ps: s[0] = new Student();
s[1] = new Student();
断点测试:Debug
F7:执行下一行代码
F8:跳过这一行代码,如果是循环,跳过次循环
F9:回到上一层代码
Shift + F9: 调到下一个断点位置
Ctrl + F2: 结束断点