zoukankan      html  css  js  c++  java
  • 面向对象三大特性

                       Java面向对象编程有三大特性,它们是封装、继承和多态。

                封装:

                       字面上来说就是将一个东西包裹起来,这样会掩饰掉内部的细节。怎么样?这么一说是不是有点想法。

                       将类封装起来,只提供想提供的方法接口,而不需要提供具体实现细节,这样一来使得程序更加健壮。

                       另一方面比方说项目做到一半换人了,老板现在要求吧代码改了,有了封装之后,你完全不用管前人写的烂代码,只需要给出必须              

               的接口方法,就可以自己写自己的了,修改方便。

                       怎么封装呢?使用访问修饰符。还记得类的访问修饰符么,只能写public或者默认不写。

                       在类里面可以使用public、protected、默认不写或者private。这四个修饰符的访问权限越来越低。

                       还有一种方法,使用内部类。使用内部类能够更好的完成封装,有关内部类的详细介绍,请看下篇文章。

                 继承:

                        继承很明显就是从一个已有的类那得到一些东西,能够很好的实现代码的重用性。

                        被继承的类称之为父类或者超类,继承父类的类称为子类。Java中所有类都是Object类的子类。

                        另外JAVA中只允许单继承,这样一来避免了多继承带来的代码过度耦合的问题。

                        虽然不能多继承,但是java中可以实现多个接口,来实现功能的扩展。

                 多态:

                        指的是子类对象可以赋值给父类变量,但运行是仍表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可以                 

                 表现出多种行为特征。

                        简单来说,就是程序中同名的不同方法。

                        那么,怎么实现多态呢?

                        例如,可以通过子类对父类方法的覆盖实现,还可以通过一个类中方法的重载,还可以通过将子类的对象作为父类的对象实现多                 

               态。

                        子类将父类方法覆盖,指子类继承了父类的方法,对方法名、参数和类型不做修改,而仅仅改动方法的实现。

                        这时候调用被覆盖的父类字段和方法时,需使用super关键字。但需要注意,父类中声明为static、final的方法不能被覆盖。

                        而且声明为final的类的所有方法不允许被覆盖。

                        另一种实现多态的方法,在类中定义同名但参数不同的方法,包括参数类型不同、参数个数 不同,即方法的重载来实现多态。简单             

                 的例子:

                                                                                                       run(int  i){}

                                                                                                       run(char c){}

                                                                                                       run(int i,char c){}

                         还可以通过对象引用实现多态,具体含义指引用型变量可以指向不同类型的对象

                         举个例子,公司里有职员和管理两类人,但是管理本身也是职员,也就是管理类继承自职员类。

                         对于职员类型变量不仅可以表示职员还可以表示管理类对象。

                        多态大大提高了程序的抽象程度,降低了类和程序模块之间的耦合性,也提高了类模块的封闭性。

                        由于小编水平有限,如有不足,还请不吝赐教!!!此处也是重点,记下记下。微信搜索关注油墨山公众号,获取更多文章资讯!!!


     

                                                            ◆◆油墨未干,为何停下双手!◆◆


     

    感谢关注!

    微信号:youmoshan

  • 相关阅读:
    华为面试
    多线程下的单例模式
    乐观锁的一种实现方式——CAS
    乐观锁和悲观锁
    数据库行锁,表锁
    常用的设计模式
    grunt-contrib-watch 实时监测文件状态
    grunt-contrib-compass 编译sass
    grunt的安装及使用
    dede 调取二级三级菜单栏目
  • 原文地址:https://www.cnblogs.com/skylife/p/11105242.html
Copyright © 2011-2022 走看看