黑马程序员技术交流社区

标题: 哈尔滨校区Java基础面试题总结 [打印本页]

作者: 梅子派    时间: 2015-12-6 17:43
标题: 哈尔滨校区Java基础面试题总结
一.JDK和JRE的区别:
                JDK:java开发工具包,里边包含了java开发工具(比如说javac,java,javadoc) 和 JRE。
                JRE:java运行环境,里边包括 运行java程序所需要的核心类库 和 JVM。
                JVM:Java虚拟机,用来保证java程序跨平台的。
                JDK包含了JRE。

二.什么是保留字,你知道的保留字有哪些?
                        保留字:现在还不是关键字,但是在以后的JDK升级版本中可能会升级为关键字的单词。
                        goto,const都是保留字。

三.Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
                可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
                所以,Java中的字符可以存储一个中文汉字

四.&&和&的区别  及  ||和|的区别。
        &&和&的区别:
                &&:短路与,有短路效应,前边出现false,后边不执行。
                &:逻辑与,无论前边是false还是true,后边都会执行。
                他们的运行结果是一样的。
       
        ||和|的区别:
                ||:短路或,有短路效应,前边出现true,后边不执行。
                |:逻辑或,无论前边是true还是false,后边都执行。
                他们的运行结果是一样的。

五.局部变量和成员变量的区别:
        1、在类中的定义位置不同。
                局部变量:方法中,或者方法形参上。
                成员变量:类中,方法外。
        2、在内存中的存储位置不同。
                局部变量:栈
                成员变量:堆
        3、生命周期不同。
                局部变量:和方法相关。
                成员变量:和对象相关。
        4、初始化值不同。
                局部变量:没有默认值,必须先定义,在赋值,然后才能使用。
                成员变量:有默认值。
                        整型:0
                        浮点型:0.0
                        字符:'\u0000'
                        布尔:false
                        引用类型:null

六.静态变量和成员变量的区别:
                1、所属不同。
                        静态变量:类。 类变量。
                        成员变量:对象。 对象(实例)变量。
                2、在内存中的存储位置不同。
                        静态变量:静态区。
                        成员变量:堆。
                3、在内存中的出现时机不同:
                        静态变量:类加载。
                        成员变量:对象的创建。
                4、调用方式不同。
                        静态变量:类名. 或者是  对象名.
                        成员变量:只能通过 对象名. 的方式来调用。

七.方法重写Override和方法重载Overload有什么区别?
                方法重写Override:
                        子类出现和父类一模一样的方法时,称为方法重写,返回值类型也必须完全一样(或者有子父类关系
                方法重载Overload:
                        同一个类中,出现方法名相同,参数列表不同(个数,对应的类型)的两个或两个以上的方法时称为方法重载,方法重载与返回值的数据类型无关。

八.一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
                答:可以,这么做的目的只有一个,就是不让其他的类来创建该类的对象。

九.abstract关键字不能和哪些关键字共存?
                (1).private:被private修饰的内容,子类是没有办法继承的,但是抽象方法是要求子类必须重写的,所以他们互相矛盾
                (2).final:被final修饰的内容,子类是没有办法重写的,但是抽象方法是要求子类必须重写的,所以他们互相矛盾
                (3).static:被static修饰的内容可以通过类名.的形式调用,但是我们知道抽象方法是没有方法体的,所以及时可以通过类名.的方式去调用,也是没有任何意义的,所以他们不能共存。

十.package,import,class之间有无顺序关系?
                答:有:
                        从上到下: package  --》 import  --》 class
                注意:
                        一个java文件中,package语句只能有一个,而import,class可以也多个(class一般一个java文件中只会写一个。

十一.在内部类的成员方法中,如何使用局部变量,内部类的成员变量,以及外部类的成员变量?
                局部变量:直接用。
                内部类的成员变量:通过 this. 的形式调用。
                外部类的成员变量:通过 外部类名.this. 的形式调用。
                注意:(内部类之所以能使用外部类的成员,是因为内部类能获取到外部类的引用: 外部类名.this)

十二.==号和equals()方法的区别:
        共同点:都可以用来做比较,返回值都是boolean类型。
        区别:
                1、==号可以用来比较基本类型,也可以用来比较引用类型,
                        如果比较的是基本类型,比较的是值是否相等,
                        如果比较的是引用类型,比较的是地址值是否相等。
                2、equals()方法只能用来比较引用类型,
                        Object类中的equals()方法默认比较的对象的地址值是否相等,这样是没有意义的,
                        子类一般会重写该方法,用来比较: 各个属性值是否相等。

十三.数组,字符串,集合如何获取长度?
                数组:length属性
                字符串:length()方法
                集合:size()方法

十四.JDK1.5以后的新特性:
                自动装箱:把基本类型包装成其对应的包装类。
                        注意:-128~127是byte的取值范围,如果是在这个范围取值,自动装箱就不会创建对象,
                                如果超出了这个范围,自动装箱才会去新创建对象。
                自动拆箱:把包装类拆成其对应的基本类型。
                        注意:如果对象是null,不能进拆装箱操作。

作者: yuyanghel61989    时间: 2015-12-6 17:47
哎呦!不错哦感觉又复习了一边
作者: LOVE毛豆豆    时间: 2015-12-6 17:48
不错,总结的很全面啊
作者: 梅子派    时间: 2015-12-6 17:59
LOVE毛豆豆 发表于 2015-12-6 17:48
不错,总结的很全面啊

多谢支持,共同进步
作者: guoguo291    时间: 2015-12-6 18:23
作者用心了
作者: 王国平    时间: 2015-12-6 18:30
哎呦,不错哦
作者: 我住隔壁我姓王    时间: 2015-12-6 18:31
不错 我也在想的做个总结  
作者: 静波cl    时间: 2015-12-6 19:06
又重新复习了一遍,好用心,赞赞赞
作者: 15846574191    时间: 2015-12-6 19:55
诶呦,不错哦
作者: hrfhwy    时间: 2015-12-6 22:39
总结的很详细
作者: redsifei    时间: 2015-12-7 00:49
写的真好,学习了
作者: 心语来了    时间: 2015-12-7 00:55
作者用心了  复习中
作者: 海划时代    时间: 2015-12-7 10:10
这就是面试题么,学习了
作者: 断魂oo血狼    时间: 2015-12-7 15:00
总结很好 赞赞
作者: 洪志豪1994    时间: 2015-12-7 22:25
挺好的,可以再学学
作者: 奔跑着    时间: 2015-12-7 22:27
看看贴也复习下
作者: 张宇峰    时间: 2015-12-7 23:25
小组员!加油
作者: thriver2010    时间: 2015-12-7 23:44
很全面,先收藏了
作者: yubail    时间: 2015-12-8 07:48
谢谢分享
作者: 隔壁马良    时间: 2015-12-8 08:09
还好不错
作者: 石三伢子1    时间: 2015-12-8 14:50
这些都是经典考题,最容易被忽视,也最容易被虐;
作者: bulala    时间: 2015-12-8 20:39
很有用

作者: bbaijiajinger    时间: 2015-12-8 21:18
继续努力啊
成为大神有望
作者: tiancheng13145    时间: 2015-12-8 21:34
不错啊 加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2