Java经典面试题 带答案(二)

4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.

5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。

4.谈谈继承,为什么要使用继承?

所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。

使用继承能够减少重复的代码。

5.方法重载的好处?

所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。

重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用

6.项目中印象最深的部分?

我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。

谈谈你对面向对象的理解与认识?

我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。

我的看法就是:

1:当加入新的功能的时候不会修改原有的代码。(面向接口编程)

2: 当我们写的一个类可以重复的运用在其他项目中。(代码的复用性)

3:当写一个新类的时候要考虑到他的可扩展性。(灵活性)

7.谈谈集合框架?

集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类

首先说一下collection接口,collection接口下面的接口分为set接口、list接口,在往下面就是他们一些实现类。

说到实现类在分为两部分,第一部分是set的实现类有TreeSet、HashSet,第二部分是list的实现类有: Arraylist、LinkedList、Vector。

8.再说Map接口,map接口下面有treeMap、HashMap、HashTable三个实现类。

最后说collections帮助类,collections提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作。

9.什么是异常?描述下异常处理?

所谓异常就在执行程序的时发生的错误,他能终止正在执行的程序。

异常的处理:1:使用try-catch捕获异常。

2:使用throw-throws抛出异常。

10.多线程的优先级?为什么要分优先级?

因为有有一些线程可能比较重要,所以才划分优先级。

异常框架的类结构?

Throwable所有错误的超类,他下面有两个子类:error和Exception。

error代表系统级的错误能捕获,但是不能处理。

Exception代表异常主要出自于程序,可以捕获也能处理。Exception有分为两类:编译期异常、运行期异常。

区别他是运行期异常还是编译期异常就看他是不是RuntimeException的子类,如果是的话,就是运行期异常否则是编译期异常。

谈谈HashMap与Hashtable的区别。

HashMap:hashmap中可以有空值,线程不安全的类。hashmap的父类是abstractMap抽象类(效率高)

HashTable:hashtable中不允许有空值,线程安全的类.hashtable的父类是Dictionary类(效率低)

说一下iterator。

iterator是一个接口,用于实现对容器里面的元素遍历操作。

任何的遍历都可以使用iterator。

什么是泛型?它有什么样的好处?

泛型就是自己指定一种类型,以后存放的东西就只能有这一种类型。

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

说一下你在项目中遇到的异常,并说出什么时候发生的,怎么解决的。

空指针异常最常见。根据异常提示找到相应的类进行处理。发生的原因很多,比如没有初始化变量,没有进行赋值等都是空指针所包含的。

你的程序遇到错时怎么解决的?

根据错误提示找到错误的API进行相应的处理。

谈谈&&和&的区别

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

System.out和System.in是什么意思?

Syste

安装Docker安装插件,可以按照以下步骤进行操作: 1. 首先,安装Docker。可以按照官方文档提供的步骤进行安装,或者使用适合您操作系统的包管理器进行安装。 2. 安装Docker Compose插件。可以使用以下方法安装: 2.1 下载指定版本的docker-compose文件: curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2.2 赋予docker-compose文件执行权限: chmod +x /usr/local/bin/docker-compose 2.3 验证安装是否成功: docker-compose --version 3. 在安装插件之前,可以测试端口是否已被占用,以避免编排过程中出错。可以使用以下命令安装netstat并查看端口号是否被占用: yum -y install net-tools netstat -npl | grep 3306 现在,您已经安装Docker安装Docker Compose插件,可以继续进行其他操作,例如上传docker-compose.yml文件到服务器,并在服务器上安装MySQL容器。可以参考Docker的官方文档或其他资源来了解如何使用DockerDocker Compose进行容器的安装和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Docker安装docker-compose插件](https://blog.youkuaiyun.com/qq_50661854/article/details/124453329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker安装MySQL docker安装mysql 完整详细教程](https://blog.youkuaiyun.com/qq_40739917/article/details/130891879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值