• java面试基础知识


    1.面向对象和面向过程的理解?

    面向过程强调的是功能行为,以函数为最小单位,考虑怎么做?

    面向对象将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

    以下面一幅图形象展示:

    总的来说,面向过程比较少的调用类实例以及各种借口,开销会小很多,比较节约资源;面向过程更容易代码复用和拓展,更加易于维护。

    2.面向对象有什么特点?

    • 封装:类自身和外界的封装关系。把客观事物封装成抽象的类,并且类可以把⾃⼰的数据和⽅法只让可信的类或者对象操作,对不可信的进⾏信息隐藏
    • 继承:父类和子类的继承关系。它可以使⽤现有类的所有功能,并在⽆需重新编写原来的类的情况下对这些功能进⾏扩展。
    • 多态:一个类和多个类的多态关系。两个类由继承关系,存在有方法的重写,故而可以在调用时有父类引用指向子类对象。多态必备三个要素:封装、重写、父类引用指向子类对象。便于更好的理解:多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。

    3.类和对象是什么?

    类是对象的高度抽象,对象是类的实例。

    可以理解为:类 = 抽象概念的人;对象 = 实实在在的某个人

    类主要由属性和方法构成。 

    类的语法格式:

    4.成员变量(属性)和局部变量的区别?

    5.Java中的值传递与地址传递(引用传递)?

    • 值传递:实参传递给形参的值,实参和形参再内存上是两个独立的变量,对形参的修改不会影响实参的值;值传递传递的是真实内容的一个副本,对副本的操作不影响原内容,也就是形参怎么变化,不会影响实参对应的内容。
    • 地址传递:实参是传递给形参的是堆内存上引用的地址,形参和实参在内存上指向的是同一地址,对形参的改变会影响实参;引用也就是指向真实内容的地址值,在方法调用时,实参的地址通过方法调用被传递给相应的形参,在方法体内,形参和实参指向通愉快内存地址,对形参的操作会影响的真实内容。
  • 相关阅读:
    重复控制器的性能优化
    公众号自定义菜单(含个性化)
    从Unity Robotics Hub入门Unity-ROS
    数据结构C语言:单链表和双链表的实现(不带头节点的单链表、带头的双链表)
    刷刷笔试题--贪心算法
    OpenGL ES /Metal滤镜处理
    Nginx
    【Java】一文认识IO操作流
    Spring MVC 请求映射路径的配置,实现前后端交互
    leetcode(力扣) 509. 斐波那契数 (动态规划入门,模板代码)
  • 原文地址:https://blog.csdn.net/weixin_44564247/article/details/125444995