2021年Java基础面试题

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

 先给大家复习一下基础题!!!

Java基础是java初学者的起点,是帮助你从小白入门到精通必学基础课程!

 为初学者而著!

Java300集>>>适合准备入行开发的零基础员学习Java,基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。

Java基础板块知识:

  1. 职业规划
  2. 学习方法
  3. 泛型、容器
  4. 数据结构和算法
  5. 智能电话本实战
  6. IO流
  7. Java介绍
  8. 变量、数据类型、运算符
  9. IDEA
  10. 控制语句、方法、递归算法
  11. 面向对象
  12. JVM
  13. 数组和数据储存
  14. JDK
  15. 异常机制、可视化
  16. 飞机大战项目

配套学习:Java初学者入门教程>>>

Java基础面试题

1、如果main方法被声明为private会怎样?

能正常编译,但运行的时候会提示”main方法不是public的”。

2、Java里的传引用和传值的区别是什么?

传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。

3、如果要重写一个对象的equals方法,还要考虑什么?

hashCode。

4、Java的”一次编写,处处运行”是如何实现的?

Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平立的。

5、说明一下public static void main(String args[])这段声明里每个关键字的作用。

public: main方法是Java程序运行时调用的第一个方法,因此它必须对Java环境可见。所以可见性设置为pulic.

static: Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明为static。

void: main方法没有返回值。

String是命令行传进参数的类型,args是指命令行传进的字符串数组。

6、==与equals的区别

==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方。

==比较的是引用而equals方法比较的是内容。public boolean equals(Object obj) 这个方法是由Object对象提供的,可以由子类进行重写。默认的实现只有当对象和自身进行比较时才会返回true,这个时候和==是等价的。String, BitSet, Date, 和File都对equals方法进行了重写,对两个String对象 而言,值相等意味着它们包含同样的字符序列。对于基本类型的包装类来说,值相等意味着对应的基本类型的值一样。

7、如果去掉了main方法的static修饰符会怎样?

程序能正常编译。运行时会抛NoSuchMethodError异常。

8、为什么oracle type4驱动被称作瘦驱动?

oracle提供了一个type 4 JDBC驱动,被称为瘦驱动。这个驱动包含了一个oracle自己完全用Java实现的一个TCP/IP的Net8的实现,因此它是平立的,可以在运行时由浏览器下载,不依赖任何客户端 的oracle实现。客户端连接字符串用的是TCP/IP的地址端口,而不是数据库名的tnsname。

9、介绍一下finalize方法

final: 常量声明。 finally: 处理异常。 finalize: 帮助进行垃圾回收。

接口里声明的变量默认是final的。final类无法继承,也就是没有子类。这么做是出于基础类型的安全考虑,比如String和Integer。这样也使得编译器进行一些优化,更容易保证线程的安全性。final方法无法重写。final变量的值不能改变。finalize()方法在一个对象被销毁和回收前会被调用。finally,通常用于异常处理,不管有没有异常被抛出都会执行到。比如,关闭连接通常放到finally块中完成。

10、什么是Java API?

Java API是大量软件组件的集合,它们提供了大量有用的功能,比如GUI组件。

11、GregorianCalendar类是什么东西?

GregorianCalendar提供了西方传统日历的支持。

12、ResourceBundle类是什么?

ResourceBundle用来存储指定语言环境的资源,应用程序可以根据运行时的语言环境来加载这些资源,从而提供不同语言的展示。

13、为什么Java里没有全局变量?

全局变量是全局可见的,Java不支持全局可见的变量,因为:全局变量破坏了引用透明性原则。全局变量导致了命名空间的冲突。

14、如何将String类型转化成Number类型?

Integer类的'valueOf方法可以将String转成Number。

15、SimpleTimeZone类是什么?

SimpleTimeZone提供公历日期支持。

16、while循环和do循环有什么不同?

while结构在循环的开始判断下一个迭代是否应该继续。do/while结构在循环的结尾来判断是否将继续下一轮迭代。do结构至少会执行一次循环体。

17、Locale类是什么?

Locale类用来根据语言环境来动态调整程序的输出。

18、面向对象编程的原则是什么?

主要有三点,多态,继承和封装。

19、介绍下继承的原则

继承使得一个对象可以获取另一个对象的属性。使用继承可以让已经测试完备的功能得以复用,并且可以一次修改,所有继承的地方都同时生效。

20、什么是隐式的类型转化?

隐式的类型转化就是简单的一个类型赋值给另一个类型,没有显式的告诉编译器发生了转化。并不是所有的类型都支持隐式的类型转化。

21、sizeof是Java的关键字吗?

不是。

22、native方法是什么?

native方法是非Java代码实现的方法。

23、在System.out.println()里面,System, out, println分别是什么?

System是系统提供的预定义的final类,out是一个PrintStream对象,println是out对象里面一个重载的方法。

24、封装,继承和多态是什么?

简单来说,多态是指一个名字多种实现。多态使得一个实体通过一个通用的方式来实现不同的操作。具体的操作是由实际的实现来决定的。

多态在Java里有三种表现方式:方法重载通过继承实现方法重写通过Java接口进行方法重写。

25、显式的类型转化是什么?

显式的类型转化是明确告诉了编译器来进行对象的转化。

26、什么是Java虚拟机?

Java虚拟机是能移植到不同硬件平台上的软件系统。

27、类型向下转换是什么?

向下转换是指由一个通用类型转换成一个具体的类型,在继承结构上向下进行。

28、Java的访问修饰符是什么?

访问权限修饰符是表明类成员的访问权限类型的关键字。使用这些关键字来限定程序的方法或者变量的访问权限。它们包含:

public: 所有类都可以访问 protected: 同一个包内以及所有子类都可以访问 private: 只有归属的类才能访问默认: 归属类及相同包下的子类可以访问。

29、所有类的父类是什么?

Object.

30、Java的基本类型有哪些?

byte,char, short, int, long, float, double, boolean。

 想要学习更多的知识可以,工众号:编程领域

配套学习:Java初学者入门教程>>>

实战游戏项目:大鱼吃小鱼>>>

Java开发扫雷游戏实战项目>>>

Java制作坦克大战游戏实战项目>>>

Java开发黄金矿工游戏教程>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值