目录
一、类和对象
1、类和对象的关系
类是对对象的抽象,对象是对类的实例,一个类可创建多个对象。
2、类的组成
属性:成员变量;行为:成员方法。
二、对象内存图
类中的成员变量开辟到堆内存,方法开辟到栈内存。
三、成员变量和局部变量
成员变量:类下面的变量(除方法和方法级别一样的);
局部变量:方法里的变量;
如果成员变量和局部变量的变量名一样,则先找局部变量,再找成员变量(就近原则),如果当前类没有,则去父类里找。
四、this关键字
当前对象的引用,谁调用就指谁。
五、构造方法
1、默认构造器
定义一个无参数的构造方法;如果手动定义一个有参数的构造方法,则默认构造方法失效,需要则必须重新手动定义无参数的构造方法。
2、构造方法的重载
构造方法也是方法,允许重载关系出现。
六、封装
面向对象三大特性:封装、继承、多态(抽象)
1、封装:隐藏细节,暴露公共接口
将属性封装到类中对数据进行封装,将代码抽象到类中就是对方法的封装。
2、修饰符
private私有、protected受保护、public公开的,封装就是用private私有属性对变量进行隐藏,自己调用。所有引用类型的基类都是Object。
3、Object基类的常用方法
getClass:得到当前对象的类,多用于反射;
hashCode:得到hash值,多用于比较;
equals:比较内容值;
clone:克隆,复制;
toString:将对象转换为字符串;
notify/notifyAll:唤醒单个线程/唤醒所有线程;
wait:线程等待;
finalize:垃圾回收,gc();
如果想打印某个对象,则需对对象的toString方法进行重写。
4、JavaBean
就是对类的成员变量进行封装,通过无参构造方法和有参构造方法,Setter和Getter方法对变量进行赋值和调用。