前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >14道Java开发岗面试题

14道Java开发岗面试题

作者头像
Maynor
发布2021-12-07 11:54:57
3820
发布2021-12-07 11:54:57
举报

开头

大家好,我是程序员Manor,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。

今天为大家带来14道Java开发岗面试题

1、问:short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

答:对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 队友锁在边 对于short s1 = 1; s1 += 1; 由于 += 是java语言规定的运算符, java编译器会对它进行特殊处理, 因此可以正确编译。 队友加一

2、问:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

答: 使用final关键字修饰一个变量时,是指引用变量不能变, 引用变量所指向的对象中的内容还是可以改变的

3、"=="和equals方法究竟有什么区别?

答案( 1、””是运算符, 2、equals是超(人)类(型)Object中的方法 3、””比较基本类型是数值, 引用类型是地址比较内存地址, String类中重写的equals方法比较的是值) 因此圣诞树

4、是否可以从一个static方法内部发出对非static方法的调用?

不可以。 普通方法属于对象, 只有对象创建后才可以调用, 而static方法调用时不需要创建对象, 从static方法中调用非static方法时可能还没有创建任何实例对象 趴着睡退出

5、Integer与int的区别

Int是基本数据类型, Integer为int对应的封装类型。 int的默认值为0, 而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别 家都没去

6、请说出作用域public,private,protected,以及不写时的区别

作用域 当前类 同一包 子类 其他包 Public(公开的 √ √ √ √ Protected(受保护的 √ √ √ × Default(默认的 √ √ × × Private(私有的 √ × × × 类包子其 那包紫琪 公受默私 公司没收

7、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

答:Overload是重载的意思, Override是覆盖的意思,也就是重写。

Override覆盖要注意以下的几点: 1.覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;

2.覆盖的方法的返回值必须和被覆盖的方法的返回值一致;

3.被覆盖的方法不能为private, 否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

  1. 子类覆盖父类方法,方法访问权限必须大于等于父类

5.覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类; 表反派附议

overload要注意以下的几点: 1.重载只和参数列表有关。例如,不同的参数类型,不同的参数个数,不同的参数顺序 2.不能通过访问权限、返回类型、抛出的异常进行重载; 3.方法的异常类型和数目不会对重载造成影响; 4.对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。 才不要·对喷

8、abstract class和interface有什么区别?

1.抽象类可以有构造方法,接口中不能有构造方法。

2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

  1. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5.抽象类和接口中都可以包含静态成员变量, 抽象类中的静态成员变量的访问类型可以任意, 但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。 5. 一个类可以实现多个接口,但只能继承一个抽象类

接口中不能有构造方法 接口中没有普通成员变量 接口中的所有方法必须都是抽象的,不能有非抽象的普通方法 接口中的抽象方法只能是public类型的,并且默认即为public abstract类型 接口中定义的变量只能是public static final类型,并且默认即为public static final类型

9、String是最基本的数据类型吗?

不是,基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的, 因此不可以继承这个类、不能修改这个类。

为了提高效率节省空间, 我们应该用StringBuilder类

10、String s = new String(“xyz”);创建了几个String Object? 二者之间有什么区别?

答:创建了两个, “xyz” 是一个, new String 是一个, 存储的位置不一样,前者存储在常量池中,后者在堆中分配存储空间。 处分

11、String 和StringBuilder的区别

答案: (String做字符串拼接会产生多个对象, 加大系统的开销。 而StringBuilder做字符串拼接只会产生一个对象,大大提高了频繁拼接字符串的效率) 参加真高

12、下面这条语句一共创建了多少个对象:String s=“a”+“b”+“c”+“d”;

答案:(创建了一个对象) 编译可以对字符串常量直接相加的表达式进行优化, 不必要等到运行期去进行加法运算处理, 而是在编译时去掉其中的加号, 直接将其编译成一个这些常量相连的结果。 不包邮 不对劲,饿不起,自己

13、简述List、Map、Set三个接口的特点

答案: (List: 存储的元素有序、 可重复、 允许值为空 Map:以键值对形式存储元素, 键不能重复, 值可重复 Set:存储的元素无序、 不可重复)

来嘛死人 有序重复 值为空

14、简述ArrayList和LinkedList的结构以及操作特点

答案:(ArrayList底层是数组, LinkedList底层是双向链表。 ArrayList查找快增删慢, LinkedList查找慢增删快

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开头
  • 1、问:short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
  • 2、问:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
  • 3、"=="和equals方法究竟有什么区别?
  • 4、是否可以从一个static方法内部发出对非static方法的调用?
  • 5、Integer与int的区别
  • 6、请说出作用域public,private,protected,以及不写时的区别
  • 7、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
  • 8、abstract class和interface有什么区别?
  • 9、String是最基本的数据类型吗?
  • 10、String s = new String(“xyz”);创建了几个String Object? 二者之间有什么区别?
  • 11、String 和StringBuilder的区别
  • 12、下面这条语句一共创建了多少个对象:String s=“a”+“b”+“c”+“d”;
  • 13、简述List、Map、Set三个接口的特点
  • 14、简述ArrayList和LinkedList的结构以及操作特点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档