封装概念:
1、将东西包装在一起,然后以新的完整形式呈现出来。
2、信息隐藏,隐藏对象的实现细节,不让外部直接访问 。
结论:将数据和方法包装进类中,加上具体实现的隐藏,称之为“封装”!
访问权限修饰符——
(1)public—— 该类或其它类均可访问
(2)private——只有该类可访问
(3)protected——该类及其子类的成员可以访问,同一个包中的类也可访问
(4)默认——同一包中的类可访问
在属性或者方法被private修饰之后,外部不能直接访问。必须通过该类其它方法访问。
封装的好处——
1、可重复调用类中的属性
2、安全(防止外部修改数据)
3、使用方便
4、降低耦合率(不同对象关联越少越好)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
构造方法
1、一个类中至少有一个构造方法。如果没有定义,系统会默认给一个无参的构造方法
2、类名必须和方法名一致,并且没有任何返回类型
3、调用构造方法来对属性初始化工作(也可通过对象名.set进行初始
Static 关键字——
(1)用来修饰类的成员:修饰成员变量的称之为类变量(静态变量),修饰成员方法(静态方法),
(2)当类被加载时,static就会被加载。优先于对象的存在
(3)用来修饰语句块,为“静态代码块”。
先于构造方法之前执行,并且只能执行一次。 用来对静态成员做初始化
(4)静态修饰的成员被所有的对象共享(因能被所有对象共享,所以不属于任何一个对象)
(5)调用时可直接通过类名.成员进行访问
注意事项:静态方法中只能访问外部静态成员,不可访问外部非静态成员(参见第2条)
静态方法中不能出this,super关键字
(简单粗暴理解:1、static无需通过本类对象即可调用,类名.方法名!this和super关键字都是用于本类对象调用
2、this、super是堆空间里的对象,static是优先于对象的存在并且静态方法是存放在内存中的数据
3、静态方法、静态类能被所有对象共享使用,而this仅仅代表当前对象属于单个对象)
生命周期——只有当程序运行结束之后,才会释放内存空间
重载(同一个类)——方法名相同,参数列表不同
重载的意义:举个例子(同样的打招呼方法,因为对象不同,打招呼形式也就不同。比如领导、员工)
重写(子类继承父类又名“覆盖”)——
俩同俩小一大:
1、方法名相同,参数列表相同(补充发生方法重写的俩个方法返回值必须是一致)
2、子类返回类型小于等于父类方法返回类型、子类抛出异常小于等于父类方法抛出异常
3、子类访问权限大于等于父类访问权限