Java面试(一)
2 什么是java虚拟机: 可以执行java字节码的虚拟机进程,而不需要为每一个平台单独重写或重新编译。虚拟机知道底层指令长度。
3 JDK,JRE区别:
JRE是Java虚拟机,可以解释JAVA字节码,形成及其语言。
JDK是完整的开发包,包含JRE,可以开发,编译,执行Java。
JRE用于运行;JDK用于开发。
4 Static作用?
类中的static方法,只能调用static方法,访问static数据,不能引用this, super, 类可以直接调用。
静态变量:属于类的。
静态类:通常一个普通类不能声明为静态的,只有内部类才可以。
static和final一起用:全局常量。修饰变量的话:不可以修改; 修饰方法的话:不可以覆盖。
static代码:当Java虚拟机加载类时,就会执行该代码。
静态导包:import static com... ...ClassName.*; 导入这个类中的静态方法。这样,就可以在这个类中,直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。这样,System.out.println()就可以用println()代替。这种方法建议在有很多重复调用的时候使用,如果仅仅用1,2次,就没有必要。
5 子类static函数,构造函数;父类的static函数,构造函数执行顺序
类实例化过程:
A: 首先执行static代码块(无论是开头还是结尾),如果这个类有父类,同样会优先查找父类中的static块。
注意:即使代码中没有用到这个类,也会加载类的,执行static代码块
(下面从B开始的步骤,是当生成子类的对象时会执行的顺序。)
B: 从父类第一个行开始,依次执行非静态代码,按照顺序执行(一般是在构造函数之前做一些处理)。
C: 父类的构造函数。
D: 从子类第一个行开始,依次执行非静态代码,按照顺序执行(一般是在构造函数之前做一些处理)。
E: 子类的构造函数。
F: 最后是类方法的调用执行,如果子类可以覆盖父类的方法,执行时会先执行子类的方法,如果子类有super.method(),才会调用父类的。
6 静态内部类:只能访问外部类的静态成员。生成一个静态内部类不需要外部类实例,静态内部类的对象可以直接生成;
Outer.Inner in = new Outer.inner(), 不需要通过生成外部类对象来生成。
7 Java是否可以覆盖(override)一个private或者static方法?
不可以
8 Java支持的数据类型有哪些? 什么是自动拆箱,装箱?
Byte, Char, Short, Int(Interger), Long, double(Double), Bollean, float
9 override(覆盖) VS overload(重载)
覆盖:参数列表必须完全与被重写的方法相同。返回的类型必须一致。
访问修饰符大于被覆盖的方法(比如有个P->fun(),覆盖完这个代码还可以work)。
不能抛出新的检查异常或比覆盖方法更加宽泛的检查类型。但是可以抛出非检查异常(这个是为了保证已经存 在的try-catch仍然可以work)。
重载:必须具有不同的参数列表,返回值可以不同。可以有不同的访问修饰符,可以抛出不同的异常。
10 Java支持多继承?多实现?
不支持多继承,但是可以实现多个接口。
11 接口可以继承接口吗? 如果可以请列举一个例子
可以。 List接口继承自Collection接口。
12 接口 VS 抽象类
类只能继承一个类(抽象类,侧重是什么,只能一个),但是可以实现多个接口(接口侧重行为)
接口是抽象类的变体,接口中所有的方法都是抽象的。
接口可以多继承,抽象类不可以。
接口定义方法,但不实现;而抽象类可以实现一些方法。
接口中基本数据类型是static的,而抽象类不是。
Java接口中声明的变量都是final,抽象类可以包含非final的。
13 接口中定义的变量必须为public static final 的原因
接口是一种高度抽象的模板,接口中的属性也是模板的成员,就应当是所有实现“模板”的实现类的共有特性,所以是public static.假如不是static的,因一个类可以继承多个接口,出现重名都变量,如何区分?
接口是一种规范,功能的定义,所有可变的东西都应该归属到实现类中,这样接口才能起到标准化,规范化的作用。所以接口中的属性必然是final的。
14 值传递和引用传递?
“java中参数传递都是按值传递”:意思是,按照值传递都是值的拷贝;按引用传递的是引用的地址值,所以统称按照值传递。
“java里只有基本类型和按照这种方式定义的String(String str = “fs”),是按照值传递”,其余的都是按照引用传递。
Java面试(一)的更多相关文章
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
随机推荐
- spring+mybatis所需各种服务的搭建
1.mysql5.6 2.jdk1.7 3.zookeeper 4.dubbo-admin 5.activtymq 6.maven 7.nexus 8.mybatis脚本文件生成工具使用
- 老男孩Python==基础数据类型考试题
转载 # Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意 ...
- 003_linux之点灯(C语言版)
linux点灯在汇编版中说明了硬件中点灯的原理,C语言中不再陈述,说白了就是控制GPXCON和GPXDTA寄存器就行了,芯片是S3C2440A芯片,查看芯片手册就能懂了,其他芯片也是一样的.C语言版就 ...
- Greenplum 的发展历史
一.Greenplum的发展历史 Greenplum的发展可以分为下面6个阶段: 图 1 Greenplum时间线 Postgres关系型数据库.Postgres是UC Berkeley开发的关系 ...
- ueditor实现ctrl+v粘贴word图片并上传
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用,但是项目要求需要支持所有的浏览器,包括Windows和macOS系统.没有办 ...
- slf4j、jcl、jul、log4j1、log4j2、logback大总结[转]
#1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4 ...
- 利用前端三大件(html+css+js)开发一个简单的“todolist”项目
一.介绍 todolist,即待办事项.在windows android ios上参考微软家出的那个To-Do应用,大概就是那样的.我这个更简单,功能只有“待办” “已完成”两项,并且是在浏览器打开的 ...
- HTML学习日记 入门教程 知识点 ing
初学html,如有错误,欢迎指正谢谢. 这只是一些基础的知识点,是学习后自己想到总结的,不适合资深者. 1.href是Hypertext Reference的缩写.意思是指定超链接目标的URL.是cs ...
- 敌兵布阵(HDU 1166)
Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任 ...
- postman学习总结
从网上各处学习总结,会有不足之处,后期不断补充中... 一.get\post请求参数 1.get类型 (1)选择请求方式GET (2)输入完整的URL (3)在param中填写参数,点击send发送请 ...