java面试题
去没有去过的地方
做一个别人都不懂的人
展开
-
++与--写在前后有什么区别?
* 用法:必须得要使用在变量的前后, * 作用:表示当前操作的变量自己累加1 或 累减1 * ++ 或 -- 写在变量前后有区别? * 1.如果不参与运算的话, 它们是没有区别。 * 2.如果参与了运算,区别就是很大了。 * 参与运算时两者的区别:累加的结果要不要参与本次的运算,(使用累加之...原创 2018-12-05 17:49:40 · 3981 阅读 · 4 评论 -
修饰符static详解
1、通过Static修饰符的成员就不属于对象,它属于类本身。 它可以修饰字段,方法,内部类。 作用:确定修饰的内容是属于类还是属于对象。 *static修饰的特点: * 1.static修饰的内容,是随着类的加载而加载的。 * 当JVM把字节码加载到虚拟机当中,static他修饰的成员会自动的加载到内存当中。(方法区) * * 2.static修饰的内容,优先于对象的存在。 *...原创 2018-12-29 15:40:03 · 197 阅读 · 0 评论 -
深入理解变量
1、变量的定义:数据类型 变量名 = 值;2、变量的分类:变量根据在类中定义位置的不同,可以分为两大类:成员变量和局部变量。3、成员变量分为类成员变量和实例成员变量 3.1 类成员变量:使用static修饰的成员变量 3.2 实例成员变量: 没加static修饰的变量就是实例成员变量 注意:在方法当中 不能定义static变量 3.3...原创 2018-12-29 16:20:56 · 206 阅读 · 0 评论 -
深入理解包的概念
1、包的概念:在开发中,我们存在几百个甚至上千个Java文件,如果所有的Java文件都在一个目录中,管理起来也很痛苦,Java也可以创建一个类似文件夹的东西,以方便我们管理java文件,我们称这个文件夹为包2、包的作用: 2.1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 2.2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不...原创 2018-12-29 16:34:02 · 474 阅读 · 0 评论 -
代码块的详细说明
1、代码块:在类中或者方法中,使用{}括起来的一段代码,就称它是代码块。代码块分为:局部代码块、初始化代码块、静态代码块三种2、局部代码块:直接定义在方法内的代码块;一般结合if,while ,for等关键字一起使用,表示一块代码区域void save() { { // 代码块当中 定义的变量,我们称它是局部变量 int a = 10; System.out.p...原创 2019-01-07 11:15:34 · 4728 阅读 · 0 评论 -
final关键字的详细说明
1、final:表面含义:"最终,不可修改";作用:保证数据的安全2、final可修饰:字段:不能再去修改该字段;方法:子类就不能再去覆盖该方法;类: 该类就不能再去被继承3、final修饰的注意点: 3.1、final 修饰字段时,该字段是没有初始值 ,必须要自己手动设置初始值 3.2、final 修饰变量,就代表是一个常量 ...原创 2019-01-07 11:35:03 · 204 阅读 · 0 评论 -
设计模式之单例设计模式详细说明
1、设计模式:是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结;也可理解为之前很多程序员经过无数次的尝试,总结出来的一套最佳实践方案。2、单例设计模式:通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。 即一个类只有一个对象实例。3、单例设计模式的特点:(1)单例类只能有一个实例。(2)单例类必须自己创建自己的唯一实例。(3)单例类必须给所有其他对象提供这一实例。...原创 2019-01-07 11:52:18 · 177 阅读 · 0 评论 -
访问修饰符pubulic、protected、private以及不写时的区别
访问修饰符pbulic、propected、private以及不写时的区别 修饰符 当前类 同一package 子孙类 其它package public 可以 可以 可以 可以 protected 可以 可以 可以 不可以 default 可以 可以 不可以 不可以 private ...原创 2019-01-02 21:08:36 · 1241 阅读 · 0 评论 -
简述JDK、JRE、JVM
1、JDK:JDK(Java Development Kit) 是整个JAVA的核心, 包括了Java运行环境JRE(Java Runtime Envirnment)、 Java开发需要的所有工具(如javac/java/jdb等) 和Java的基础类库(即Java API )。 JDK是java开发工具包, 基本上每个学java的人都会先在机器 上装一个JDK, 在JDK的目录下面有六个文件夹、...转载 2019-01-09 17:07:06 · 325 阅读 · 0 评论 -
细说常量以及变量
1、常量:表示固定的值,不可改变的值称为常量。2、常量分类:整数常量,小数常量,字符常量,字符串常量、布尔常量、null常量整数常量:所有整数。System.out.println(10);小数常量:所有的小数。System.out.println(10.10);字符常量:将一个数字字母或符号使用单引号(' ')标识。System.out.println('A');...原创 2019-01-10 11:39:14 · 196 阅读 · 0 评论 -
java、javadoc、jar、javac的作用
java用来运行一个.class文件javadoc用来生成api文档jar用来生成jar包javac用来把.java文件编译为.class文件原创 2019-02-11 15:06:20 · 1441 阅读 · 0 评论 -
Object详解
1、Object类是Java语言的根类,要么是一个类的直接父类,要么就是一个类的间接父类.2、为什么Object是所有类的根类,到底什么是Object. Object本身指对象的意思, 我们发现所有的对象都具有某一些共同的行为,所以,我们抽象出一个类:Object类,表示对象类,其他都会继承于Object类,也就拥有Object类中的方法....原创 2019-01-03 18:10:37 · 292 阅读 · 0 评论 -
方法的重写(覆盖override)
1、方法重写:子类继承了父类,可以获得父类的部分方法和成员变量。可是当父类的某个方法不适合于子类本身的特征时,可以进行覆盖重新定义父类当中的方法,即为方法的重写。2、方法重写的原则:2.1 方法签名必须相同(方法名和参数)。 2.2 子类方法的返回值类型必须和父类方法返回值类型相同。 ...原创 2019-01-03 17:34:35 · 1730 阅读 · 0 评论 -
子类可以使用父类中的哪些成员。
1、public 修饰的,只要在同一个项目下,子类都可以继承。2、protected修饰的,子类也可以继承,不同包里子类也能继承。3、 默认:同一个包子类可以继承,不同包子类不能继承4、private修饰的:子类你打死都继承不到。只在本类当中能够使用5、父类的构造器,子类是不能继承的;因为构造器的名称必须和类名相同;构造器只能被重载,不能被重写。...原创 2019-01-03 17:05:49 · 1920 阅读 · 0 评论 -
& 与 && 区别是什么?
* 1.与(&) 结果是布尔类型 * 格式 : 逻辑表达式1 & 逻辑表达式2 * 结果: 如果两个表达结果有一个为false ,那么与的结果就为false * 两个表达式的结果都为true,那么与的结果才为true * 2.或(|) ...原创 2018-12-05 18:17:42 · 279 阅读 · 0 评论 -
每个逻辑运算的特点有哪些?
与 (&): 如果两个表达式结果有一个为false 那么与的结果就为false 两个表达式的结果都为true 那么与的结果才为true 使用与的时候无论前面是真还是假 都会执行后面的表达式 无论什么结果 两边都会执行 或 (|): 如果两个表达式结果 有一个为true 结果就为true 只有当两个结果都为false 或的结果才为false 非(!): 取反操作, true结果为flase ...转载 2018-12-05 18:18:44 · 3512 阅读 · 0 评论 -
8中基本数据类型及大小
数据类型 大小 整数 字节类型 byte -> 8 短整型 short->16 整型 int->32 长整型 lo...原创 2018-12-26 14:53:07 · 1181 阅读 · 0 评论 -
break、continue、return的区别
* break:终止循环,跳出循环,不再执行循环里的代码。会去执行后续的代码 * continue:跳出本次循环,后续的循环继续执行,循环执行完毕,后续的代码继续执行。 * return:循环终止,后续的代码也不执行了。...原创 2018-12-27 20:44:06 · 138 阅读 · 1 评论 -
终止嵌套循环的最外层循环的方法
在最外层循环前加label标识,然后用break:label方法即可跳出多重循环。public class OutterBreak { public static void main(String[] args) { outter : for(int count= 1; count <= 5; count++) { inner : for(int i = 0...原创 2018-12-27 20:47:40 · 2669 阅读 · 0 评论 -
方法重载Overload和方法重写Override的区别;Overloaded的方法是否可以改变返回值的类型。
方法重载:在同一个类中,允许方法名称必须相同,但是方法的参数必须不同,返回值的类型也是可以改变的。方法 的重载解决:功能相同,参数不同,就不需要在定义多个方法名称。方法重写:在不同类中,两者属于子类和父类的关系;在子类中定义某方法与其父类有相同的名称和参数, 我们说该方法被重写 (Overriding)。 子类的对象使用这个方法时, 将调用子类中的定义, 对它而言, 父类中的定义如同被"屏...原创 2018-12-28 11:44:11 · 671 阅读 · 0 评论 -
基本数据类型和引用数据类型的区别
1、基本数据类型:只有一块存储空间, 在栈中,存放的是具体的值2、八种基本数据类型: byte: 8位, 最大存储数据量是255,存放的数据范围是-128~127之间。 short: 16位,最大数据存储量是65536,数据范围是-32768~32767之间。 ...原创 2018-12-28 14:26:43 · 591 阅读 · 0 评论 -
GC垃圾回收机制
1、GC是垃圾收集的意思, 内存处理是编程人员容易出现问题的地方, 忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃, Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的, Java语言没有提供释放已分配内存的显示操作方法。2、Java是自动垃圾回收机制: 程序员不需要自己再动手控制内存的释放; 当JVM发现内存资源紧张的时候,会自动的清理无用的对象3、J...原创 2018-12-28 14:41:39 · 209 阅读 · 0 评论 -
构造器,构造器的重载的详细说明
构造器:在创建对象时,自动调用的方法 ,我们称它是构造器;构造器分为两种:默认构造器和自定义构造器;默认构造器为编译器帮我们自动生成的构造器;自定义构造器为我们自己写的构造器。* 构造器的作用: * 1、创建对象,必须和new 一起使用 * 2、完成对象的初始化操作 * 构造器的特点: * 1、构造器的名称是和当前类名必须一样的 ...原创 2018-12-29 11:50:50 · 602 阅读 · 0 评论 -
this的理解及使用
1、方法中变量赋值:在一个方法当中,要给变量赋值,它会先到方法当中去找有没有该变量; 如果有,就给方法内部的变量赋值,不会往上再去找了,如果没有 ,就往它上一级去找。2、this:表示“这个”,当前正在使用对象的地址;在方法当中的变量前加上了this,就代表直接给对象当中的字段赋值。3、this的使用场景:1.帮我们区分成员变量和局部变量的二异性, 必须得要使用this ...原创 2019-01-03 16:54:48 · 215 阅读 · 0 评论 -
运算符优先级详解
由上到下优先级逐渐降低单目运算符:++,--算术运算符:+,-,*,/,%(%只适用于整型运算)移位运算符:<<,>>关系运算符:>,<,>=,<=,==,!=位运算符:&,|,~,^逻辑运算符:&&,||三目运算符:表达式1?表达式2:表达式3赋值运算符:=记忆口诀:淡(单目)云(算术运算...原创 2019-02-12 09:05:56 · 1531 阅读 · 0 评论