Java面试
一分耕耘,一分收获
这个作者很懒,什么都没留下…
展开
-
static与final区别有哪些?
都可以修饰类、方法、成员变量。 static可以修饰类的代码块,final不可以。 static不可以修饰方法内的局部变量,final可以。 一. final final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法复盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后不能再被改变。 final不能用...原创 2019-10-15 09:58:47 · 300 阅读 · 0 评论 -
Java中堆和栈的区别?
主要区别: 从存储角度来看,堆内存主要用于存储实例对象和JRE classes,栈内存用于存储基本变量和对象的引用。 从存取速度来看,栈存取速度快,堆区存取比较慢,因为要在运行时动态分配内存,存取速度较慢。 从线程角度来看,每个线程都有一个自己的JAVA栈,所有线程共享一个堆。在JVM中,内存被分为线程栈区和堆区。 从GC来看,栈区GC比较频繁,堆区GC不频繁。 详细比较: 堆的优势是可...原创 2019-10-14 17:58:12 · 218 阅读 · 0 评论 -
接口和抽象类有什么区别?
接口和抽象类都是继承树的上层。 它们的共同点如下: 都是上层的抽象层。 都不能被实例化。 都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不必提供具体的实现。 它们的区别如下: 在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势;接口中只能有抽象的方法。 一个类只能继承一个直接父类,这个父类可以是具体的类也可是抽象类;但...原创 2019-10-14 12:58:43 · 153 阅读 · 0 评论 -
谈谈你对Java的理解
1.平台无关性:一处编译到处运行 2.GC:不用像c++那样手动释放堆内容 3.语言特性:泛型、反射、lamda表达式 4.面向对象:封装、继承、多态 5.类库:集合、并发库、网络库、IO库 6.异常处理 ...原创 2019-10-05 18:23:36 · 799 阅读 · 0 评论 -
Java面向对象的特征有哪些方面?
有三大基本特征:封装,继承,多态。 一. 封装性:Java中的封装是指一个类把自己内部的实现细节进行隐藏,只暴露对外的接口(setter和getter方法)。封装又分为属性的封装和方法的封装。把属性定义为私有的,它们通过setter和getter方法来对属性的值进行设定和获取。 在Person类中,定义了三个成员变量,分别为id name person,它们的访问修饰都是private私有的,...原创 2019-10-07 13:19:55 · 555 阅读 · 0 评论 -
Java线程系列之创建线程的8种方式
问题:创建线程有哪几种方式?它们分别有什么运用场景? 方式一:继承Thread类并重写run()方法 注意:继承Thread类并重写run()方法,这种方式的弊端是一个类只能继承一个父类,如果这个类本身已经继承了其它类,就不能使用这种方式了。 public class CreatingThread01 extends Thread { @Override public v...原创 2019-10-07 17:22:15 · 195 阅读 · 0 评论