刚接触Java需要学习的东西还很多,这里将记录我学习Java的历程。初开始接触Java的时候对面向对象还很迷糊,对构造方法,对象定义,以及方法的调用完全搞不懂。经过几天的学习,终于了解了个大概。
类和对象的关系:
共性的称为类;
个性的称为对象;
先有类再有对象;
总结:类是对象的模板,对象是类的具体实例。
类的定义格式:
class 类名
{
属性;
方法;
}
.属性也叫成员变量
.方法也叫成员方法
对象的产生 格式: 类名 对象名 = new 类名()
使用new关键字创建对象的三个作用
1.为对象实例分配内存空间
2.调用构造函数
3.返回对象实例的引用
当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外,其余的变量的类型都是引用类型。
通过对象.属性的格式为对象中的属性赋值。
结论:对象产生之后,Java会自动为对象中的属性赋值,默认值。如果是其他类型的对象则为“null”,如果是数字,则为“0”。
深入研究:
对象产生是分两步进行的:
1.声明一个对象(栈内存中开辟了一个空间)
eg.Person lxh1= null;
2.实例化了一个对象(堆内存中开辟了空间)
eg. lxh1 = new Person();
new Person(); 开辟堆内存空间-------使用权给了lxh1
问题?如果现在不开辟堆内存空间,会怎么样?不使用new 开辟了
如果不开辟堆内存空间。则在对象使用时会发生错误:
* 错误:NullPointerException--------空指向异常(对象未分配堆内存)