第一部分 Java SE基础(1)

1.1 java的8种基本数据类型 装箱  拆箱

1.1.1  8种基本的数据类型

1.1.2装箱  拆箱

自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int 转化成 Integer,double 转化成 Double,等等。反之就是自动拆箱。

原始类型: boolean,char,byte,short,int,long,float,double

封装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double

有了基本数据类型,为什么还需要包装类型?

Java是一个面对对象的语言,而基本的数据类型,不具备面向对象的特性。

比如Integer可以用null表示为空,int只能为0.

1.1.3 String 出 转出 int 型,判断能不能转?如何转?

答:可以转,得处理异常 Integer.parseInt(s) 主要为 NumberFormatException:

1)当你输入为字母时,也就是内容不是数字时,如 abcd

2)当你输入为空时           3)当你输入超出int 上限时 Long.parseLong("123")转换为 long。

1.1.4 short s1 = 1; s1 = s1 + 1; 有什么错? short s1 =1; s1 +=1; 有什么错?

    1) 对于 short s1=1;s1=s1+1 来说,在 s1+1 运算时会自动提升表达式的类型为 int,那么将 int 赋予给 short 类型的变量 s1 会出现类型转换错误。

    2) 对于 short s1=1;s1+=1 来说 +=是 java 语言规定的运算符,java 编译器会对它进行特殊处理,因此可以正确编译
1.1.5 .Int 与 与 Integer 区别

1.1.6. 字节字符区别

字节是存储容量的基本单位,字符是数子,字母,汉子以及其他语言的各种符号。
   1 字节=8 个二进制单位:一个一个字符由一个字节或多个字节的二进制单位组成

1.1.7 java 基本类型与引用类型的区别

基本类型保存原始值,引用类型保存的是引用值(引用值就是指对象在堆中所处的位置/地址)

---------------------------------------------------------------------------------------------我是分割线------------------------------------------------------道长且阻,行则将至---------------------------------------

1.2 重写重载 重写重载

一.继承的好处和坏处

      好处:1. 子类能自动继承父类的接口

                 2. 创建子类的对象时,无须创建父类的对象

     坏处:1. 破坏封装,子类与父类之间紧密耦合,子类依赖于父类的实现,子类缺乏独立性    (tip:高内聚,低耦合)
             2. 支持扩展,但是往往以增加系统结构的复杂度为代价
             3. 不支持动态继承。在运行时,子类无法选择不同的父类
            4. 子类不能改变父类的接口

二.重载、重写
Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

重写(override)又名覆盖:
1.不能存在同一个类中,在继承或实现关系的类中;
2. 名相同,参数列表相同,方法返回值相同,
3.子类方法的访问修饰符要大于父类的。
4.子类的检查异常类型要小于父类的检查异常。
重载(overload)
1.可以在一个类中也可以在继承关系的类中;
2.名相同;
3.参数列表不同(个数,顺序,类型) 和方法的返回值类型无关。

三.Java 中是否可以覆盖(override)一个 private 或者是 static 的方法?
Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。

java 中也不可以覆盖 private 的方法,因为 private 修饰的变量和方法只能在当前类中使用,如果是其他的类继承当前类是不能访问到 private 变量或方法的,当然也不能覆盖。

---------------------------------------------------------------------------------我是分割线-------------------------------------------------永怀善意,清澈明朗-----------------------------------------------------

1.3  面向对象

new 一个对象的过程和 eclone 一个对象的过程区别

new 操作符的本意是分配内存。程序执行到 new 操作符时,首先去看 new 操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象。

clone 在第一步是和 new 相似的,都是分配内存,调用 clone 方法时,分配的内存和原对象(即调用 clone 方法的对象)相同,然后再使用原对象中对应的各个域,填充新对象的域,填充完成之后,clone 方法返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。

1.4 String,StringBuffer ,StringBuilder ,hashcode ,equal
一.String StringBuffer StringBuilder 的区别

量。此时String的速度比StringBuffer和StringBuilder的性能好很多。

二.String 不可变?

String中的hashcode以及toString

四.String,是否可以继承,“+”怎样实现,与 StringBuffer 区别

1.5 java 文件读取

1.6 java反射

Java 中 的 反 射 首 先 是 能 够 获 取 到 Java 中 要 反 射 类 的 字 节 码 , 获 取 字 节 码 有 三 种 方 法 ,
1.Class.forName(className)      2.类名.class       3.this.getClass()。

然后将字节码中的方法,变量,构造函数等映射成相应的 Method、Filed、Constructor 等类,这些类提供了丰富的方法可以被我们所使用、

1.7static 和 和 final 的区别

final 的好处: 的好处:
1. final 关键字提高了性能。JVM 和 Java 应用都会缓存 final 变量。
2. final 变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
3. 使用 final 关键字,JVM 会对方法、变量及类进行优化。

一、 static 方法是否可以覆盖? 方法是否可以覆盖?
static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译
时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。
二.是否可以在 二.是否可以在 static 环境中访问非 static 变量?

静态变量 ,静态代码块先于 静态代码块先于 System.out.println(“0000”)执行 执行 , 静态的东西只执行一次,相当于全局变量。

参考文章:[1] https://www.bilibili.com/video/av29503459?from=search&seid=13524817771325516763

[2]https://blog.csdn.net/qq_41701956/article/details/86686492

[3]《java面经》纸质版

 

java面试汇总一的更多相关文章

  1. 资源| 学习视频库-永久有效,持续更新!附赠java面试汇总

    每天进步一丢丢,连接梦与想 我们总是羡慕他人的光芒,却忘记自己也会发光 声明 资源来自于网络,小编只是资源的搬运工,若有侵权,联系小编即删. 期待已久的学习视频库来啦! 经过小编多日整理,整理了1.5 ...

  2. Java面试汇总

    转自:http://zy19982004.iteye.com/blog/1846537#comments 一.All 最近找工作,遇到的笔试面试题,归纳如下,供大家参考. 二.J2SE 容器 Hash ...

  3. java面试笔试大汇总

    java面试笔试题大汇总5 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象:2.继承:3.封装:4. 多态性: 2.String是最基本的数据类型吗? 基本数据类型包括byte.int. ...

  4. Java面试知识点汇总

    Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总   版权声明 ...

  5. Java后端技术面试汇总(第一套)

    面试汇总,整理一波,doc文档可点击[此处下载] 1.基础篇 1.1.Java基础 • 面向对象的特征:继承.封装和多态• final, finally, finalize 的区别• Exceptio ...

  6. java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  7. Java面试系列

    如果你的面试简历是如下这样写的,请务必准备回答下面的所有问题. 面试职位:Java高级工程师 专业技能: (1)牢固掌握Java基础知识,如集合.并发.I/O等,并对Java源码有一定的研究. (2) ...

  8. Java面试通关要点汇总集

    Java面试通关要点汇总集 2018-03-09 转自:Java面试通关要点汇总集 文章目录 1. 基础篇  1.1. 基本功  1.2. 集合  1.3. 线程  1.4. 锁机制2. 核心篇  2 ...

  9. Java 面试知识点解析(四)——版本特性篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

随机推荐

  1. 吴裕雄--天生自然python学习笔记:pandas模块DataFrame 数据的修改及排序

    import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]] ...

  2. UFT参数化

    1.Resources-Record and Run Settings 2.打开程序进行录制操作 3.对Fly from和Fly to进行参数化 4.选中点击 5.输入名称,点击OK 6.在Data加 ...

  3. 文件加密,密码加密,os模块

    序列化模块 (非常非常重要) 序列化:将一个数据结构(list,dict....)转化成一个特殊的序列(特殊的字符串)的过程. # l1 = [1, 2, 3] # ret = str(l1) # p ...

  4. RHCE考试(Linux7)

    博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 一.环境模拟 * server0.example.com :172.25.0.11 * desktop0.example ...

  5. python3下scrapy爬虫(第五卷:初步抓取网页内容之scrapy全面应用)

    现在爬取http://category.dangdang.com/pg1-cid4008149.html网址上的商品价格,名称,评价数量 先准备下下数据:商品名,商品链接,评价数量 第一步:在item ...

  6. 在virtualenv中安装NumPy、 SciPy、 scikit-learn、 matplotlib

    首先要进入对应的虚拟环境 然后安装包    这里把安装源改成使用豆瓣的源进行下载  这样的话 下载速度会快很多   安装numpy包 pip install numpy -i https://pypi ...

  7. 16)用了session会话技术

    为什么用session会话技术? 因为假如你进入后台,不可能随意进入,即使你的验证通过了,那么还需要一个变量来存一个标志,假如标志的值是yes,那么我们可以直接进入后台的首页,无需验证,但是,标志是n ...

  8. leetcode第22题:括号生成

    力扣上的题目可以大致分为以下种类: 对某种复杂规则的彻底解析,很有可能要构造状态机,充分考虑边界情况. 对某种数据结构及算法的应用. 对数学概念.遍历.动态规划等的综合应用. 通过分析,本题应该属于1 ...

  9. ChatterBot聊天机器人呢结构(五):ChatterBot对话流程

    原文地址:http://www.bugingcode.com/blog/ChatterBot_Dialogue_process.html 创建机器人 部署机器人的各种属性,根据前面的章节里聊天机器人的 ...

  10. 将Hexo网站托管到Coding.net

    只需要注册coding.net,然后建立一个名为用户名+coding.me的仓库即可,需要注意的是 coding.net的pages仓库只能有一个master分支 开始使用 Coding Pages官 ...