b站课程地址:https://www.bilibili.com/video/BV18J411W7cE?p=99
1 类和对象
类是对现实生活中一类具有共同属性和行为的事物的抽象。
类是对象的数据类型;类是具有相同属性和行为的一组对象的集合。
属性:对象具有的各种特征;每个对象的每个属性都拥有特定的值;
行为:对象能执行的操作。
类是Java程序的基本组成单位。
类的组成:属性和行为
- 属性:在类中通过成员变量来体现;
- 行为:在类中通过成员方法来体现;(去掉static关键字)
测试类中要定义入口的main方法;new出的对象在堆内存中,成员变量有初始默认值;
2 对象内存图
类的方法调用完后从栈内存消失;
多个对象指向相同
其实就是指向了同一地址,当一个对象对该地址的值进行改变时,另一个对象再次使用该地址的内容当然是使用了修改后的内容。
3 成员变量和局部变量
成员变量和局部变量的区别:
4 封装
通过对象名直接访问对象的变量数据,会存在一定的安全隐患;
private关键字:是一个权限修饰符;可以修饰成员(成员变量和成员方法);作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。
针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作:
- 提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰;
- 提供“set变量名()"方法,用于设置成员变量的值,方法用public修饰。
this关键字:
this修饰的变量用于指代成员变量:
什么时候使用this:解决局部变量与成员变量同名时,局部变量隐藏成员变量的情况;
this代表所在类的对象引用;方法被哪个对象调用,this就代表哪个对象。
封装:封装是面向对象的三大特征之一(封装、继承、多态);是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。
封装原则:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。如成员变量private,提供对应的getXxx()/setXxx()方法。
封装好处:通过方法来控制成员变量的操作,提高了代码的安全性;把代码用方法进行封装,提高了代码的复用性。
5 构造方法
构造方法是一种特殊的方法,用于创建对象,主要是完成对象数据的初始化。
当一个类中没有定义构造方法时,系统会给一个默认的无参构造方法;一旦自行定义构造方法,系统将不再提供默认的构造方法(即如果自定义了带参构造方法,还要使用无参构造方法,就必须再写一个无参数构造方法)。多个构造方法是重载的:方法名相同,参数类型和个数不同。
标准类制作: