java 基础篇
java基础题汇总
七道士
佛系的程序猿,记录遇到的问题及面试情况,参考大神文章,会标明出处的
展开
-
举例说明什么情况下会更倾向于使用抽象类而不是接口?
接口和抽象类都遵循”面向接口而不是实现编码”设计原则,它可以增加代码的灵活性,可 以适应不断变化的需求。下面有几个点可以帮助你回答这个问题: 在 Java 中,你只能继承一个类,但可以实现多个接口。所以一旦你继承了一个类,你就失 去了继承其他类的机会了。 接口通常被用来表示附属描述或行为如:Runnable、Clonable、Serializable 等等,因此当你 使用抽象类来表示行为时,你的类就不能同时是 Runnable 和 Clonable(注:这里的意思是指 如果把 Runnable 等实现为抽象原创 2021-06-25 10:13:29 · 1002 阅读 · 0 评论 -
在 Java 中,什么时候用重载,什么时候用重写?
如果你看到一个类的不同实现有着不同的方式来做同一件事,那么就应该用重写 (overriding),而重载(overloading)是用不同的输入做同一件事。在 Java 中,重载的方 法签名不同,而重写并不是。 ...原创 2021-06-25 10:09:59 · 783 阅读 · 0 评论 -
在 Java 中,为什么不允许从静态方法中访问非静态变量?
Java 中不能从静态上下文访问非静态数据只是因为非静态变量是跟具体的对象实例关联的, 而静态的却没有和任何实例关联。原创 2021-06-25 10:04:49 · 512 阅读 · 0 评论 -
Java线程池七个参数详解
java多线程开发时,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。 从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。下面会对这7个参数一一解释。 一、corePoolSize 线程池核心线程大小 线程池中会维护一个最小的线程数量,即使这些线程处理空闲状态,他们也不会被销毁,除非设置了allowCoreThr转载 2021-06-25 09:57:36 · 107 阅读 · 0 评论