Java岗社招面经分享

1、Java 应用程序与小程序之间有哪些差别?

答:简单说应用程序是从主线程启动(也就是 main() 方法)applet 小程序没有main 方法,主要是嵌在浏览器页面上运行(调用 init()线程或者 run()来启动),嵌入浏览器这点跟 flash 的小游戏类似。


2、字符型常量和字符串常量的区别

1)形式上: 字符常量是单引号引起的一个字符,字符串常量是双引号引起的若干个字符

2)含义上: 字符常量相当于一个整形值( ASCII ),可以参加表达式运算。字符串常量代表一个地址值(该字符串在内存中存放位置)

3)占内存大小:字符常量只占2个字节,字符串常量占若干个字节(至少一个字符结束标志) (注意:charJava 中占两个字节)


3、构造器 Constructor 是否可被 override

4、重载和重写的区别

1)重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。

2)重写:发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能重写该方法。


5、自动装箱与拆箱

1)装箱:将基本类型用它们对应的引用类型包装起来;

2)拆箱:将包装类型转换为基本数据类型;

6、在 Java 中定义一个不做事且没有参数的构造方法的作用

答:Java 程序在执行子类的构造方法之前,如果没有用 super() 来调用父类特定的构造方法,则会调用父类中没有参数的构造方法。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。


7、手撕代码。牛客题霸上的原题,可以去看看:NC58 找到搜索二叉树中两个错误的节点

#Java工程师##社招##面经#
全部评论

相关推荐

头像
04-26 15:00
已编辑
算法工程师
点赞 评论 收藏
转发
2 8 评论
分享
牛客网
牛客企业服务