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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

i++和++i的区别?
答:单独使用的时候,在前在后都一样。参与运算的时候,在前是先自加,然后再用这个结果参与运算。在后是先参与运算,再进行自加

逻辑或 " | " 和 短路或 " || "有什么区别?

答:|不管前面的结果是真是假后面的都会运算,||前面为真后面的不参与运算。但是结果是一样的。

switch语句的表达式可以放什么?

答:byte、short、int、char。JDK1.5以后可以使用枚举,1.7之后可以使用String。

switch中break可以省略吗?省略了会发生什么现象?default可以什么时候执行吗?

答:break在最后一个可以省略,其他的不要省略,省略了会继续执行下面的语句,这种现象叫case穿透现象。Default在所有case都满足的情况下执行。

局部变量和成员变量的区别:

(1)定义位置不同:成员变量定义在类中方法外,局部变量定义在方法内。
(2)作用范围不同:成员变量在整个类中有效,局部变量在所在的方法有效。
(3)内存位置不同:成员变量随着对象的创建存放在堆内存(都是new出来的)中,局部变量存放在栈内存中。
(4)初始化值不同:成员变量是有默认的初始化的值的;局部变量不赋值不能用。
(5)生命周期不同:成员变量随着对象的存在而存在,随着对象的消失而消失;局部变量随着方法的调用而存在,方法调用完毕而消失。

子类都不可以继承到父类的什么?java可以多继承么?
答:父类中被private修饰的成员不可以被继承到,java不支持多继承,支持多层继承。

this关键字实现了什么功能?
答:(1)区别局部变量和成员变量(2)代表本类对象的引用(3)也可以用于构造方法的调用

final修饰的变量、方法、和类有什么特点?

(1)final修饰的变量只能赋值一次,不能发生改变,如果修饰的基本类型,是其值不能发生改变,如果修饰的引用数据类型,是地址值不能发生改变;
(2)final修饰的方法不能被重写;
(3)final修饰的类不能被继承,也称最终类。

接口中的成员的特点?

答:都是常量,public static final ;方法都是抽象方法,public abstract;没有构造方法。

接口和抽象类的区别?

(1)成员的特点:抽象类可以有变量、常量、构造方法、一般方法、抽象方法;接口有且只能有常量和抽象方法。
(2)关系特点:类与类支持单继承,不能多继承,但是能够多层次继承,类与接口是实现关系,一个类能实现多个接口,一个类继承 一个类的同时能实现多个接口;接口与接口之间能单继承,也能多继承;

==和equals的区别?

答:“==”是比较运算符,既能比较基本数据类型,又能比较引用数据类型。基本数据类型比较的是数值,引用数据类型比较的是地址值。
equals是一个方法,只能比较引用数据类型。所有的类都会继承Object的equals方法。重写equals方法比较的是对象的内容,如果没有重写将调用Object的equals方法,比较的是地址值。

String 和int直接的转换?

答:将int类型转为String类型的方法:(1)基本数据类型+“”(2)Integer.toString(int num)(3)String.valueOf(int  i)
将String转为int:Integer.parseInt(String s)

HashSet怎么保证元素唯一的?先比较equals还是HashCode?

答:同过存入元素的HashCode和equals方法。先比较Hash值。

List取出元素的方法?Set取出元素的方法?Map取出元素的方法?
(1)list取出元素的方法:普通for,高级for,迭代器
(2)Set取出元素的方法: 高级for,迭代器。
(3)Map取出元素的方法,entrySet,keySet,通过keySet取出Value的方法value = get(key);

throw和throws的区别?

答:throws是在方法声明后面,用来声明异常,后面跟的异常类名;可以跟多个异常类名,用逗号隔开;表示抛出异常,需要由调用者处理。
Throw定义在方法体内,跟的异常对象名;只能跟一个异常对象。

子父类间异常的注意事项?

答:(1)子类继承父类时,父类方法抛出了异常,子类重写该方法时只能抛出相同的异常或者该异常的子类。
(2)如果父类抛出了多个异常,子类在重写方法时只能抛出相同的异常或者他的子集,不能抛出父类没有的异常。
(3)如果父类没有抛出异常,子类重写该方法时不能抛出异常。如果子类出现了异常,只能进行try处理,不能抛出。

在try{}catch{}finally{}的那一部分关闭流,为什么?
答:在finally中,因为finally一定会执行。

线程的两种实现 方式的区别?

答:
(1)继承Thread类:好处是:因为是继承,代码简单,能够直接使用Thread类的方法。确定是:扩展性比较差,因为继承了Thread类,不能再继承其他的类。
(2)实现Runnable接口:好处是扩展性比较强。缺点时:代码比较冗余,因为不是继承Thread类,无法直接使用thread中的方法。

继承Thread类如何实现数据共享?
(1)定义共享数据为类变量:static修饰;
(2)定义在同步代码块中,或者同步函数中。

sleep和wait的区别?
(1)sleep是让线程睡眠,必须给相应的睡眠时间,不需要唤醒,时间到了会自动醒来,休眠时不放弃Cpu的执行权。是Thread的方法
(2)wait的是让线程等待,可以传参也可以不传参,传参是在指定的时间后等待,需要被唤醒。等待的时候放弃cpu的执行权。是Object的方法

?抽象类和接口的区别:(问的比较多,概念性的问题)?

1:抽象类只能被继承,而且只能单继承。
        类都是单继承,类和类是继承关系,接口与接口也是继承关系?
接口需要被实现,而且可以多实现。?
类实现接口时可以多实现 在implements后用逗号把接分开;?
2:抽象类中可以定义非抽象方法,子类可以直接继承使用。?
接口中都是抽象方法,需要子类去实现后使用。
JDK1.8中接口可以定义有方法体的方法,接口中的方法默认都是public修饰
常量都是 public static final 修饰
3:抽象类与子类的关系是??is?a?关系。?
接口与实现类的关系是?like?a?关系。?
4:抽象类的成员修饰符可以自定义。?
接口中的成员修饰符是固定的,
方法是public
变量 public static final????

多?态★★★★★(面向对象特征之一):函数本身就具备多态性,某一种事物有不同的具体的体现。?
体现:父类引用或者接口的引用指向了自己的子类对象。//Animal?a?=?new?Cat();?
多态的好处:提高了程序的扩展性。?
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)?
多态的前提:?
1:必须要有关系,比如继承、或者实现。
?2:通常会有覆盖操作。??
3:父类引用指向子类对象


评分

参与人数 1黑马币 +12 收起 理由
隔岸 + 12 赞一个!

查看全部评分

9 个回复

倒序浏览
记住这些绝对有益  不过是黑马面试还是工作面试都可能出现的问题  各位小伙伴记住啦
回复 使用道具 举报
学习一下   加油!
回复 使用道具 举报
学习一下   加油!
回复 使用道具 举报
学习学习,感谢分享
回复 使用道具 举报
谢谢楼主 总结  很有用
回复 使用道具 举报
这绝对 是对我们有帮助的!!!!!!
回复 使用道具 举报
学习了 加油加油
回复 使用道具 举报
楼主不错,谢谢分享
回复 使用道具 举报
谢谢楼主的分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马