面向对象思想
面向对象思想概述:Java是一种面向对象的程序设计语言,面向对象是一种程序设计思想,它区别于过程思想,强调通过调用对象的行为来实现功能,而不是自己一步一步去操作实现。所有面向对象语言都包含三大基本特征:继承、封装、多态。面向对象在Java中的体现就是一个个类,类中封装了解决问题的函数。
类和对象
类是一组相关属性和行为的结合,可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
对象就是通过类的构造方法创建的一个实例。
在程序中使用一个类来描述某一事物,而事物的基本属性我们用变量描述,变量的书写位置和类中的函数属于并列关系,此时这些变量称为成员变量,而类中负责实现功能的函数称为类的成员方法。
在使用new关键字创建对象时,这个类的所有成员变量都会随着对象在堆内存中的出现而存在。
局部变量:定义在函数中的变量,这些变量只在定义它的函数中有效。
函数使用变量的优先级:先使用内部的局部变量,如果没有再从成员变量中找。
成员变量和局部变量的区别:
①从定义上,成员变量定义在类中,局部变量定义在函数中;
②从内存存储上,成员变量会随着对象的出现在堆内存中存在,局部变量会随着函数的运行在栈内存中存在;
③从初始值上,成员变量有默认初始值,局部变量需要在定义时给定初始值;
④从生命周期上,成员变量随着对象的出现而存在,并随着对象的消失而消失,局部变量随着方法的进栈而存在,并随着方法的出栈而消失。
构造方法:通过new来创建对象时自动调用的函数
构造函数格式:
修饰符 方法名(参数列表){
}
构造函数的函数名必须与当前类的类名一致。
当我们在书写一个类时没有书写构造函数,则使用javac编译完java源代码之后,生成的class文件中会自动添加一个无参的构造函数,我们称这个构造函数为默认的构造函数。如果手写的时候添加了有参或无参的构造函数,则编译器就不会在class文件中添加这个默认的构造函数了。