A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一.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,不能进拆装箱操作。

2 个回复

倒序浏览
支持你一下吧,加油
回复 使用道具 举报
挺好的!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马