java基础知识面试

本文介绍了Java语言的主要特点,包括其简单性、面向对象、分布式、安全性、平台独立性和动态性。详细阐述了Java的三个版本——JavaSE、JavaEE和JavaME的应用场景。此外,对比了Java与C++的数据类型差异,并探讨了面向对象编程的概念,强调了其相对于面向过程编程的优缺点。最后,讨论了Java中的多态性,解释了多态的实现机制及其在编程中的重要性。
摘要由CSDN通过智能技术生成

java概述

什么是Java?

  1. Java语言吸收了C++语言的各种优点,具有功能强大和简单易用两个特征
  2. Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点

JDK的三大版本

有 JavaSE,JavaEE,JavaME三个版本

  1. JAVASE 包含了Java核心类库,主要用来开发桌面应用

  2. JAVAEE即企业版,包含SE,又有扩展部分(Servlet,JDBC等),主要用来开发分布式网络程序

  3. JAVAME即微型版,包含了SE中部分类库,又有自己扩展部分,主要用来做移动类、嵌入式开发。

JAVA和c++的区别

java数据类型

在Java中共有八种基本数据类型,它们分别是以下几种类型:

数据类型描述占用字节取值范围默认值
int整型,用于存储整数4个字节-2147483648~21474836470
byteJava中最小的数据类型1个字节-128~1270
short短整型2个字节-32768~327170
long长整型8个字节-263~263-10L
float浮点型,用于存储带小数点的数字4个字节/0.0f
double双精度浮点型,用于存储带有小数点的数字8个字节/0.0d
char字符型,用于存储单个字符2个字节0~65535
boolean布尔类型,用于判断真或假1个字节仅有两个值,即true、falsefalse

注:一个字节等于8位(bit)

JAVA语言采用Unicode编码标准,Unicode(标准码),它为每个字符制订了一个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。

面向对象概述

面向对象和面向过程的区别

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

面向过程

优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展

面向对象

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低

面向对象三大特性

三大特征:封装、继承 、多态(抽象)

什么是多态机制?Java 语言是如何实现多态的?

多态分为编译时多态和运行时多态。其中编辑时多态是静态的(方法重载),主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。而运行时多态是动态的(方法重写,精髓),它是通过动态绑定来实现的,也就是我们所说的多态性。

Java实现多态有三个必要条件:继承、重写、向上转型。

多态的实现机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Harmon-x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值