一、面向对象基础:
1.面向对象:
(1) 把相关的数据和方法组织成一个整体来看待;
(2) 思想上,从执行者到指挥者的转变;
2.类必须写在.java文件中,
(1) 一个.java文件中可以存在N个类,但只能存在一个public修饰的类;
(2) java文件的名称必须与public修饰的类名完全一致;
二、类与对象的关系:
1.类是一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。
2.类由属性和方法组成:
(1)属性:相当于人的一个个的特征
(2)方法:相当于人的一个个的行为。说话、吃饭、唱歌;
三、对象创建内存:
栈:先进后出;
堆:存放着类的对象。
说明:
利用画图对栈和堆的工作方法,有了更深刻的了解。栈内存通过“栈指针”来创建空间和释放空间。栈的内存极小;
所以,大部分数据存储在堆中。堆 通过new关键字,告诉JVM去创建一个新的对象,去开辟一块新的堆内存空间;
当堆内存中的对象没有被指针指向时,会被GC(垃圾回收站)自动回收。释放堆内存空间。**
四、构造方法:
用于对象初始化。
格式:person p = new person();
右侧的小括号其实就是在调用构造方法。
在创建对象时,自动调用。
所有java的类中都至少有一个构造方法,如果一个文件夹中没有明确的编写构造方法,则编译器会自动生成一个无参的构造方法。
**定义的格式:
1.与普通方法基本相同,区别在于:方法名必须与类名相同,没有返回值类型的声明。
2.建议自定义无参构造方法,不要对编译器形成依赖。
3.当类中有非常量成员变量时,建议提供两个版本的构造方法,一个是无参构造方法,一个是全属性做参数的构造方法。
4.当类中所有成员变量都是常量或者没有成员变量时,建议不提供任何版本的构造。
五、方法的重载:
方法名称相同,参数类型或参数长度不同,可以完成方法的重载。方法的重载与返回值无关。
方法的重载可以让我们在不同的需求下,通过传递不同的参数调用方法来完成具体的功能。
六、构造方法的重载:
与方法的重载的规则类似。构造方法的重载可以使之后的编码更加方便灵活。
七、匿名对象:
使用一次的对象,可以使用匿名对象来创建。如果一个对象名使用多次,则一定要创建对象。
格式:new 类名().xxx = "";