1、请你说一下抽象类和接口的区别
语法层面上的区别:
- 抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract方法;
- 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
- 接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
设计层面上的区别:
- 抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
- 设计层面不同,抽象类作为很多子类的父类,它是一种设计模板式设计。而接口是一种行为规范,它是一种辐射式设计。
2、请说说Java的特点和优点,为什么要选择Java?
- 面向对象(封装、继承、多态)
- 平台无关性,平台无关性的具体表现在于,Java是一次编写,到处运行(Write Once,Run AnyWhere)的语言,因此采用Java语言编写具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译。
- 可靠性、安全性
- 支持多线程。C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而Java语言却提供了多线程支持;
- 支持网络编程并且很方便,Java语言诞生本身就是为了简化网络编程设计的,因此Java语言不仅支持网络编程而且很方便;
- 编译与解释并存;
3、请你说说Java基本数据类型和引用类型
- 基本数据类型(四类八种):整数类型(byte、short、int、long)、浮点型(double、float)、字符类型(char)、布尔类型(boolean)
- 引用类型(三种):数组、类、接口(null类型)
- byte:1字节(8位),数据范围是
-2^7 ~ 2^7-1。 - short:2字节(16位),数据范围是
-2^15 ~ 2^15-1。 - int:4字节(32位),数据范围是
-2^31 ~ 2^31-1。 - long:8字节(64位),数据范围是
-2^63 ~ 2^63-1。 - float:4字节(32位),数据范围大约是
-3.4*10^38 ~ 3.4*10^38。 - double:8字节(64位),数据范围大约是
-1.8*10^308 ~ 1.8*10^308。 - char:2字节(16位),数据范围是
\u0000 ~ \uffff。 - boolean:Java规范没有明确的规定,不同的JVM有不同的实现机制。
- byte:1字节(8位),数据范围是
4、String、StringBuffer、Stringbuilder有什么区别
- 可变与不可变。String类中使用字符数组保存字符串,因为有“final”修饰符,所以string对象是不可变的。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String类利用了final修饰的char类型数组存储字符,源码如下:
private

本文详细介绍了Java编程中的核心概念,包括抽象类与接口的区别、Java的特点和优势、基本数据类型与引用类型、String相关类的对比、final关键字的使用、==与equals()的差异、static修饰符的作用以及面向对象的三大特性。此外,还讨论了线程创建的不同方式,并阐述了SpringBoot与Spring的关系及其在项目构建中的优势。
最低0.47元/天 解锁文章
604

被折叠的 条评论
为什么被折叠?



