首页 > 技术文章 > java 封装 继承 重写 多态

jinss 2020-12-17 09:48 原文

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处: 将变化隔离、便于使用、提高重用性、提高安全性 封装原则: 将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问。

private 关键字

是一个权限修饰符。 用于修饰成员(成员变量和成员函数) 被私有化的成员只在本类中有效。

常用之一:

 将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性。
  • 1

private :私有,是一个权限修饰符。用于修饰成员。

              私有的内容只在本类中有效。
  • 1

注意: 私有仅仅是封装的一种体现。

继承

类的继承格式

class 父类 { }

class 子类 extends 父类 { }

继承的优点:

1 提高了代码的复用性

2 提高了代码的维护性

3 建立了类与类之间的关系,继承是多态的前提。

继承的缺点:

1 在一定程度上,造成类与类之间的强关联,即所谓的高耦合。

2 父类功能的改变对子类也会造成影响。

重写和多态

重写

verride是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。
重写(覆盖)的规则:
1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.
2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。
3、重写的方法的返回值必须和被重写的方法的返回一致;
4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。

6、静态方法不能被重写为非静态的方法(会编译出错)。

overload是重载,一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同。
重载的规则:
1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;

多态:体现为父类引用变量可以指向子类对象。

 前提条件:必须有子父类关系。

注意:在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。

 多态的定义与使用格式

               定义格式:父类类型 变量名=new 子类类型();

 理解:

           多态是同一个行为具有多个不同表现形式或形态的能力。

           多态就是同一个接口,使用不同的实例而执行不同操作。

转自-----csdn

推荐阅读