11 2021 档案
摘要:goto 是Java中的保留字,在目前版本的Java中没有使用。(根据James Gosling(Java之 父)编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列 表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方
阅读全文
摘要:&运算符有两种用法:(1)按位与;(2)逻辑与。 &&运算符是短路与运算。 逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多
阅读全文
摘要:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。
阅读全文
摘要:定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。 基本数据类型 数值型 整数类型(byte,short,int,long) 浮点类型(float,double) 字符型(char) 布尔型(boolean) 引用数据类型 类(class)
阅读全文
摘要:final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表 示该变量是一个常量不能被重新赋值。 finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块 中,表示不管是否出现异常,该代码块都会执
阅读全文
摘要:不一样,因为内存的分配方式不一样。String str = "i"的方式JVM会将其分配到常量池中,而 String str = new String("i")JVM会将其分配到堆内存中。
阅读全文
摘要:操作字符串的类有:String、StringBuffer、StringBuilder。 String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,再将指针指向新的 String 对象,而 Stri
阅读全文
摘要:浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。 深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。 java中为什么要用到clone? 在实际编程过程中,我们常常要遇到这种情况:有一个对象 A,在某一时刻
阅读全文
摘要:new 操作符的本意是分配内存。程序执行到 new 操作符时,首先去看 new 操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使
阅读全文
摘要:一、封装 所谓的封装就是把类的属性和方法使用private修饰,不允许类的调用者直接访问,只提供一个方法让调用者使用。 封装的第一个作用就是为了不直接被外部使用,提高代码的安全性,第二个作用就是降低类的使用者的学习成本,不需要知道类的实现,只需要学会调用就好了 二、继承 继承是使用已存在的类的定义作
阅读全文
摘要:super:它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名 (实参) this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同
阅读全文
摘要:break 跳出总上一层循环,不再执行循环(结束当前的循环体) continue 跳出本次循环,继续执行下次循环(结束正在执行的循环,continue下面的代码不执行直接进入下一个循环条件) return 程序返回,不再执行下面的代码(结束当前的方法 将结果直接返回)
阅读全文
摘要:什么是构造方法? 名字与类名相同,不手动创建时会有一个默认的空构造方法,会在生成类的对象的时候自动执行。 构造器(constructor)是否可被重写(override)? 构造器不能被继承,因此不能被重写,但可以被重载。
阅读全文
摘要:静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的 方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法), 而不允许访问实
阅读全文
摘要:内部类的分类有哪些? 内部类可以分为四种: 成员内部类、局部内部类、匿名内部类和静态内部类 。 什么是内部类? 在java语言中,可以吧一个类定义到另外一个类的内部,在类里面的这个类就叫内部类,外面的类就叫外部类。在这情况下,这个内部类可以看做外部类的一个成员。还有一种类被称为顶层类,指的是类定义代
阅读全文
摘要:按照异常需要处理的时机分为编译时异常(也叫受控异常)也叫 CheckedException 和运行时异 常(也叫非受控异常)也叫 UnCheckedException。Java认为Checked异常都是可以被处理的 异常,所以Java程序必须显式处理Checked异常。如果程序没有处理Checked
阅读全文
摘要:hashCode和equals方法的关系 面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写 hashCode方法?” 首先, equals() 方法和 hashcode() 方法间的关系是这样的: 1、如果两个对象相同(即:用 equals 比较
阅读全文
摘要:hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码 的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在JDK的Object.java中,这就 意味着Java中的任何类都包含有hashCode()函数。 散列表存储的是键值对(key-va
阅读全文
摘要:我们以“HashSet 如何检查重复”为例子来说明为什么要有 hashCode: 当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位 置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的hashcode, HashSe
阅读全文
摘要:抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法; 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final 类型的; 接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法; 一个类只能继承一个抽象类
阅读全文
摘要:增加了default方法和static方法,这2种方法可以有方法体。
阅读全文
摘要:重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即 外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现 父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。 重载(overloadin
阅读全文
摘要:ArrayList和LinkedList的差别主要来自于Array和LinkedList数据结构的不同。 ArrayList是基于数组实现的,LinkedList是基于双链表实现的。另外LinkedList类不 仅是List接口的实现类,可以根据索引来随机访问集合中的元素,除此之外, LinkedL
阅读全文
摘要:静态代理中代理类在编译期就已经确定,而动态代理则是JVM运行时动态生成,静态代理的效 率相对动态代理来说相对高一些,但是静态代理代码冗余大,一单需要修改接口,代理类和委 托类都需要修改。
阅读全文
摘要:JDK动态代理只能对实现了接口的类生成代理,而不能针对类。 CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法。因为是继承, 所以该类或方法最好不要声明成final。
阅读全文

浙公网安备 33010602011771号