图灵云吧 关注:12贴子:393
  • 8回复贴,共1

Java程序员面试指南

只看楼主收藏回复

快来看一看啊


IP属地:黑龙江1楼2017-01-17 16:34回复
    Java面向对象相关概念
    Java是一种基于面向对象概念的编程语言,使用高度抽象化来解决现实世界的问题。 面向对象的方法将现实世界中的对象进行概念化,以便于在应用之间进行重用。例如:椅子、风扇、狗和电脑等。
    Java里的类(Class)是一个蓝图、模板,或者称之为原型,它定义了同一类事物的相同属性和行为。实例(Instance)是某个类的一个具体实现,同一个类所有的实例拥有相同的属性。举例来说,你可以定义一个类叫做“房子(House)”,这个类拥有一个属性叫做“房间数(number of room)”,这样你就可以创建一个“房间数”为2的“房子”实例,你还可以创建一个“房间数”为3的“房子”实例,等等等等。
    优点:
    面向对象软件开发的若干优点在于:
    模块化,维护成本低;
    更好的代码重用,具备继承性,开发更为敏捷;
    更好的代码可靠性和灵活性;
    对现实世界进行建模,易于理解;
    对象水平的抽象;
    从一个开发阶段向另一个开发阶段过渡更为简便。
    面向对象软件系统(OOPS)的四大主要特征为:
    封装(Encapsulation)
    继承(Inheritance)
    多态(Polymorphism)
    抽象(Abstraction)


    IP属地:黑龙江2楼2017-01-17 16:35
    回复
      封装(Encapsulation)
      封装机制在对象之间提供了一种隐藏域可见性的协议。Java中使用可见性修饰符private将方法和变量限制在类内部。Java提供的可见性修饰符包括public/ default/ protected/ private,用来在不同层面上隐藏变量、方法和类,但最终目的在于封装那些不需要进行修改的东西。实践表明,每个类应该只存在一种被修改的原因,而封装(Encapsulate)让这种“唯一原因”原则成为现实。
      同时,最佳实践表明,封装意味着将会经常改变的东西隐藏起来,以防止对其他类造成破坏。
      封装的优点
      我们可以通过隐藏属性来保护对象的内部状态;
      能够防止对象之间不恰当的相互作用,进而促进代码模块化;
      增强可用性;
      在特定对象之间维护互访协议;
      封装以促进代码维护;
      可以独立地进行代码修改


      IP属地:黑龙江3楼2017-01-17 16:35
      回复
        多态(Polymorphism)
        多态是指使用相同的接口来应对不同的底层形式(例如数据类型)的能力。这就意味着同一个类可以使用一个共同的接口来实现多种不同的功能,并能通过传递特定的类引用来动态触发这些功能。
        一个经典的多态的实例为“形状”类(Shape),以及所有继承Shape的类,如方形(square)、圆形(circle)、多面体(dodecahedron)、不规则多边形(irregular polygon)和长条(splat)等。在这个例子中,每个类中都拥有一个自己的Draw()函数,客户端程序代码可以简简单单地如下所示:


        IP属地:黑龙江4楼2017-01-17 16:35
        回复
          Java面向对象相关概念
          Java是一种基于面向对象概念的编程语言,使用高度抽象化来解决现实世界的问题。 面向对象的方法将现实世界中的对象进行概念化,以便于在应用之间进行重用。例如:椅子、风扇、狗和电脑等。
          Java里的类(Class)是一个蓝图、模板,或者称之为原型,它定义了同一类事物的相同属性和行为。实例(Instance)是某个类的一个具体实现,同一个类所有的实例拥有相同的属性。举例来说,你可以定义一个类叫做“房子(House)”,这个类拥有一个属性叫做“房间数(number of room)”,这样你就可以创建一个“房间数”为2的“房子”实例,你还可以创建一个“房间数”为3的“房子”实例,等等等等。
          优点:
          面向对象软件开发的若干优点在于:
          模块化,维护成本低;
          更好的代码重用,具备继承性,开发更为敏捷;
          更好的代码可靠性和灵活性;
          对现实世界进行建模,易于理解;
          对象水平的抽象;
          从一个开发阶段向另一个开发阶段过渡更为简便。
          面向对象软件系统(OOPS)的四大主要特征为:
          封装(Encapsulation)
          继承(Inheritance)
          多态(Polymorphism)
          抽象(Abstraction)


          IP属地:黑龙江5楼2017-01-17 16:35
          回复
            封装(Encapsulation)
            封装机制在对象之间提供了一种隐藏域可见性的协议。Java中使用可见性修饰符private将方法和变量限制在类内部。Java提供的可见性修饰符包括public/ default/ protected/ private,用来在不同层面上隐藏变量、方法和类,但最终目的在于封装那些不需要进行修改的东西。实践表明,每个类应该只存在一种被修改的原因,而封装(Encapsulate)让这种“唯一原因”原则成为现实。
            同时,最佳实践表明,封装意味着将会经常改变的东西隐藏起来,以防止对其他类造成破坏。
            封装的优点
            我们可以通过隐藏属性来保护对象的内部状态;
            能够防止对象之间不恰当的相互作用,进而促进代码模块化;
            增强可用性;
            在特定对象之间维护互访协议;
            封装以促进代码维护;
            可以独立地进行代码修改


            IP属地:黑龙江6楼2017-01-17 16:36
            回复
              多态(Polymorphism)
              多态是指使用相同的接口来应对不同的底层形式(例如数据类型)的能力。这就意味着同一个类可以使用一个共同的接口来实现多种不同的功能,并能通过传递特定的类引用来动态触发这些功能。
              一个经典的多态的实例为“形状”类(Shape),以及所有继承Shape的类,如方形(square)、圆形(circle)、多面体(dodecahedron)、不规则多边形(irregular polygon)和长条(splat)等。在这个例子中,每个类中都拥有一个自己的Draw()函数


              IP属地:黑龙江7楼2017-01-17 16:36
              回复
                方法重载、Ad-hoc多态性和静态多态
                重载涉及的是同一个类内具有相同名称,但方法签名不同的多个方法。可以用不同的方法为不同的数据定义相同的操作。我们经常所说的静态多态实际上并不是真正意义上的多态。
                方法重载实际上就是指两个方法使用相同的名称,但参数不同。这与继承和多态完全没有关系。重载方法不是覆盖方法。[Head First Java深入浅出]


                IP属地:黑龙江8楼2017-01-17 16:36
                回复
                  厉害 学习啦


                  IP属地:黑龙江来自iPhone客户端9楼2017-01-24 00:34
                  回复