Java面试题,基础部分(菜鸡自用版)

以下正文的面试题目,答案是本人整理及个人的理解,如有误请指正,拜谢。(假如我每天搞一个面试题,一年下来,一线大厂指日可待)

前言:

       基础部分的面试大部份是理论和一些语法细节,如果平时没有关注,在面试或者做面试题的时候,会难以下笔。所以理论的东西看过以后,要自己学会说出来,形成自己的语言,这样在面试的时候,才能更好的表达,也能和面试官更好的沟通,不会因为听不明白而引起歧义。


1.什么是面向对象?
    面向对象是相对于面向过程来说的。他们都是编程的一种思想。主要是为了把复杂的问题简单化。
    从生活中来说:对象就是生活中的各种事物,如:电脑,人类,茶杯,石头等。这些东西每一类都是一种对象(对象是对事物的抽象)。对于每一个对象来说它都有一些特征,和行为。比如石头,它的特征(属性)就有重量、体积、材质等等;而石头相对于人来说它不具有主动的行为,所以石头没有行为(方法)。而对于一个人来说他的特征(属性)会有年龄,身高,体重,性别等等,同时还有吃饭,运动,说话等行为(方法)。

    从代码层面来说:对象就是我们将某些功能封装在其中(包含属性和方法),然后在对象去实现具体的方法功能,我们只需要调用对象的方法就可以去处理具体的问题,这样就是面向对象。 这样做可以将一个复杂的逻辑分成多个不同的对象,每个对象处理不同的功能,这样可以简化过程,符合人们思考习惯。

举例:你是老板,你需要做一个网站,你只需要对产品说你要做什么业务,对设计说你要的画面,对工程师说你要什么功能。这样产品去分析业务,设计去设计画面,工程师去开发。他们三个就是对象。你只需要面向他们就可以,至于他们是如何工作,如何做出一个网站,老板完全不用关心。

面向对象的三大特征:

  • 封装:
    将对象的属性和方法实现细节都隐藏在对象中,只提供专门编写的公共方法提供给外部。
    好处:
    (1)封装可以使代码分离,降低程序复杂性,利于维护;
    (2)提高复用性;
    (3)保护私有属性,提高安全性。
  • 继承:
    继承主要是在已有的基础类上进行扩展。子类继承父类的特征和行为,使子类对象具有父类的属性和方法。
    java只支持单继承,就是一个子类只能继承一个父类。
    注意:>>Java:类与继承
  • 多态:
    多态是同一个行为具有多个不同表现形式或形态的能力。
    >>Java 三大特性 —— 多态

2.抽象类和接口的区别?
深入理解Java的接口和抽象类

3.为什么重写equals一定要重写hashcode?
链接1
链接2
链接3

4.cookie与session的区别是什么?
Session和Cookie之间区别与联系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值