学习面试题Day04
1、简述Java派生类中的构造方法如何为父类传递参数。
在Java中,使用super关键字加括号()的形式来为父类的构造方法提供参数,通过参数的数目和类型来决定调用哪个构造方法。如果调用的是父类的默认的无参数构造方法,则可以不必显式地使用super()。
2、简述接口和抽象类的区别。
抽象类是一种功能不全的类,接口只是一个抽象方法声明和静态不能被修改的数据的集合,两者都不能被实例化。从某种意义上说,接口是一种特殊形式的抽象类,在Java语言中,抽象类表示一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。
3、简述一下内部类的实质是什么。
内部类根据定义的情况可以分为以下4种:
(1)静态内部类:它相当于外部类的静态成员一样,使用static修饰的内部类,它隶属于外部类,使用起来相当于一个独立的外部类;
(2)成员内部类:它相当于外部类普通的成员一样,隶属于外部类的具体对象,在定义它的时候,需要先创建外部类对象,再创建它的实例;
(3)局部内部类:它定义在一个方法的方法体中,它往往仅作为方法短暂的使用,只能访问用final修饰的局部变量;
(4)匿名内部类:它也定义在方法体中,但是它没有一个具体的名字,具有非常大的灵活性,工作本质与局部内部类类似。
4、包应该如何被创建及使用。
包是Java程序中关于命名空间的一种手段,它可以有效的解决类重名的问题。当需要把一个类定义在某个包下的时候,需要使用package关键字进行定义;当需要使用其他包下的类的时候,则需要使用import关键字进行导入。
5、说明private,protected,public和default的区别。
它们都是访问控制符,他们的区别如下:
(1)public:可以被所有其他类访问;
(2)private:只能被自身访问和修改;
(3)protected:自身,子类及同一个包中类可以访问;
(4)default(默认):同一个包中的类可以访问,声明时没有加修饰符,认为是friendly。
6、int和Integer有什么区别?
int是基础数据类型,字节长度为4,它的创建不会在堆内存中开辟空间,一般保存在栈内存里,可以用算术运算符进行加减乘除等操作。在参数传递的时候,直接传递它的值。
Integer是int的包装类,而本质是一个类,它的创建会在堆内存中开辟一块新的空间。它的含义也表示一个整型的数字,但是,算术运算符不能操纵它。在参数传递的时候,传递的是它所代表的对象的一个引用。
7、如何用八进制和十六进制来表示整型数据?
Java中八进制字面量采用0开头,十六进制采用0x开头。
8、如何用BigDecimal类进行精确运算?
使用BigDecimal类来进行精确的算术计算,也就是使用它所提供的一系列的API,主要分为以下步骤。
(1)用float或double变量构建BigDecimal对象。通过构造方法或valueOf()方法;
(2)通过调用BigDecimal的加、减、乘、除等,相应的方法进行算术运算;
(3)把BigDecimal对象转换成float、double、int等类型,通过类似xxxValue()等方法进行转换。
9、boolean和它的包装类的区别在哪里?
boolean是基础数据类型,Boolean是类;
boolean一般存于栈空间中,Boolean对象存放在堆空间中;
boolean有true和false两种值,Boolean除了true和false以外,还有null;
Java5.0以前,不能把Boolean用于条件语句,需要转换为boolean以后在使用。
10、char能否存储汉字?
char是可以存储汉字的,每个中文字符都有对应的Unicode编码。
11、字符串字面量是否自动生成一个String对象?
答案是肯定的。字符串类具有一定的特殊性,JVM在执行双引号操作符的时候,会自动的创建一个String对象,并返回这个对象的引用。
12、字符串对象池的作用是什么?
对象池的存在是为了避免频繁的创建和销毁对象而影响系统性能。当JVM在运行用双引号引起来一个字符串的代码时,会到String的对象池中去检查是否有一个字符序列相同的对象。如果有,就取现成的对象,如果没有,则在对象池中创建一个对象,并返回。
13、StringBuffer和StringBUilder存在的作用是什么?
在Java程序中,如果有大量拼接字符串的需要的话,应该使用StringBuffer和StringBuilder类,它们可以避免不必要的String对象的产生,以提高程序的性能。它们两者的作用相似,只不过StringBuilder线程是安全的。
14、如何输出反转过后的字符串?
实现字符串的反转一般来说有两种手段,第一是利用字符串存储字符数据的原理,取出它的char数组,进行重新排列并保存;第二则是生成StringBuffer对象,直接使用StringBuffer的reverse()方法。
15、如何使用指定的字符集创造String对象?
使用带有字符集编码的String的构造方法就可以用指定的字符集来重新创造字符串对象了,该方法的参数包括两个:一个是byte数组;另一个则是字符集编码的字符串形式,例如,UTF-8、GBK、ISO-8859-1等。
学习面试题Day04的更多相关文章
- 深度学习面试题29:GoogLeNet(Inception V3)
目录 使用非对称卷积分解大filters 重新设计pooling层 辅助构造器 使用标签平滑 参考资料 在<深度学习面试题20:GoogLeNet(Inception V1)>和<深 ...
- 深度学习面试题27:非对称卷积(Asymmetric Convolutions)
目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...
- 深度学习面试题13:AlexNet(1000类图像分类)
目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...
- Java学习之面试题整理
1,java 基本数据类型有几种?哪几种?(面试题) 8种 byte short int long float double char boolean 2,int类型是几个字节?(面试题) 4字节 3 ...
- 深度学习面试题26:GoogLeNet(Inception V2)
目录 第一层卷积换为分离卷积 一些层的卷积核的个数发生了变化 多个小卷积核代替大卷积核 一些最大值池化换为了平均值池化 完整代码 参考资料 第一层卷积换为分离卷积 net = slim.separab ...
- 深度学习面试题25:分离卷积(separable卷积)
目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...
- 深度学习面试题24:在每个深度上分别卷积(depthwise卷积)
目录 举例 单个张量与多个卷积核在深度上分别卷积 参考资料 举例 如下张量x和卷积核K进行depthwise_conv2d卷积 结果为: depthwise_conv2d和conv2d的不同之处在于c ...
- 深度学习面试题21:批量归一化(Batch Normalization,BN)
目录 BN的由来 BN的作用 BN的操作阶段 BN的操作流程 BN可以防止梯度消失吗 为什么归一化后还要放缩和平移 BN在GoogLeNet中的应用 参考资料 BN的由来 BN是由Google于201 ...
- 深度学习面试题20:GoogLeNet(Inception V1)
目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...
随机推荐
- size()函数的使用
matlab中对于矩阵的计算是十分方便的,其中关于矩阵的函数有很多 size() 在c/c++中sizeof用来求某变量所占用的字节数,在matlab中size()则可以用来求矩阵的“长度”,矩阵的长 ...
- chm文件打开,有目录没有内容
下载下来的一些chm文件,打开的是否提示“打开此文件前总是询问”,不理睬直接打开后,只有目录,页面内容都显示“已取消到本页的导航”.原因是该CHM文件的发行商未知,将“打开此文件前总是询问”选项取消后 ...
- Android水平(横向)翻页列表,类似水平GridVIew
Android水平(横向)翻页列表,类似于水平方向的GridView,行列自定义,但要翻页切换,考虑加载性能,当Item数据很多时加载和翻页要流畅,翻页时要有动画效果,效果图如下: 实现方式: 1:翻 ...
- android/IOS各平台分享链接/跳转链接配置说明(备用)
Android: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 微信/朋友圈 //设置 ...
- C++中头文件相互包含与前置声明
一.类嵌套的疑问 C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题.假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中, ...
- bnuoj 29373 Key Logger(模拟双向队列)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=29373 [题意]:模拟光标输入 [题解]:用双向列表模拟实现,这里用其他模拟会超时,注意内存的释放 ...
- DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义
DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...
- cmp比较指令对标志寄存器的影响
比如: mov ax,x mov bx,y cmp ax,bx cmp ax,bx的逻辑含义是比较ax,bx中的值.如果执行后: ZF=1则AX=BX ZF=0则AX!=BX CF=1则AX<B ...
- PAT-乙级-1029. 旧键盘(20)
1029. 旧键盘(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的 ...
- maven 如何解决因本地jar导致的编译错误
如何解决Maven依赖本地非repository中的jar包,依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理.http://www.mamicode.com/info-det ...