牛客网---Java题库(1~10)
1、什么是JAVA虚拟机?为什么JAVA被称作平台无关的编程语言?
java虚拟机是一个可以执行java字节码的虚拟机进程。java源文件被编译成能够java虚拟机执行的字节码文件。java被设计成允许应用程序可以运行在任意平台,而不需要程序员为每一个平台单独重写或重新编译。java虚拟机让这个变为可能,因为它知道底层硬件平台指令长度和其他特性。
2、JDK和JRE的区别是什么?
java运行环境(JRE) ,它包括虚拟机、java核心类库和支持文件。
java开发工具(JDK) ,是完整的java软件开发包,包含JRE,编译器,解释器等。
3、“static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main()。因为在程序开始执行时必须调用main() ,所以它被声明为static。声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。Static 块仅在该类被加载时执行一次。
java中static方法不能被覆盖,因为方法覆盖是基于运行时绑定的,而static方法是编译时静态绑定的。static方法和类方法不相关。
java中不可以覆盖private方法,因为private修饰的对象和方法只能在当前类中使用,如果其他类继承当前类是不能访问到private变量或方法的,当然也不能覆盖。
4、是否可以在static环境中访问非static变量?
当类被java虚拟机载入时,会对static变量做初始化。而非static变量是在运行时动态加载的,当然不可以使用。编译器会报错
5、Java支持的数据类型有哪些?什么是自动拆装箱?
java支持8种基本类型:
byte
short
int
long
float
double
boolean
char
自动装箱:java编译器在基本数据类型和对应的对象包装类之间做的一个转化。比如把int转换为Integer,double转换为Double。反之就是自动拆箱。
6、Java中的方法覆盖(Overriding)和方法重载(Overload)是什么意思?
java中的overload发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况。
方法覆盖(overriding)是子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖着可能不会限制它所覆盖的方法。
7、java中什么是构造方法,什么是构造方法重载?什么是复制构造方法?
当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法,在程序员没有给类
提供构造方法的情况下,java编译器会给类提供一个默认的构造方法。
java中构造方法重载和方法重载很相似。可作为一个类创建多个构造方法。每一个构造方法必须有它唯一的参数列表。
Java不支持像C++中那样的复制构造方法,这个不同点是因为如果你不自己写构造方法的情况下,Java不会创建默认的复制构造方法。
8、java支持多继承吗?
java中不支持多继承,只支持单继承(即一个类只有一个父类)。但是java中的接口支持多继承,即一个子接口可以有多个父接口(接口的作用是用来扩展对象的功能,一个子接口继承多个父接口),说明子接口扩展了多个可能,当类实现接口时,类就扩展了相应的功能。
9、接口和抽象类的区别是什么?
本质:从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。接口只能定义一系列方法,算是定义行为,而不能包含具体的变量,不能拥有自己的属性,但是抽象类能够拥有变量
接口中的所有方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。
类可以实现很多个接口,但是只能继承一个抽象类。
类可以不实现抽象类和接口声明的所有方法。但是,在这种情况下,类也必须得声明是抽象的。
抽象类可以在不提供接口方法实现的情况下实现接口。
java中接口中声明的变量默认都是final的,抽象类可以包含非final的变量。
java接口中的成员默认是public的,抽象类的成员函数可以是private,protectde或者是public
接口是绝对抽象的,不可以实例化,抽象类也不可以实例化
10、什么是值传递,什么是引用传递?
https://www.nowcoder.com/questionTerminal/b296e9e1c40542ec8677c1e452b6b576 (解析)
值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。
引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本,并不是原对象 本身。
一般认为,java内的基本类型数据传递都是值传递,java中实例对象的传递都是引用传递。
牛客网---Java题库(1~10)相关推荐
- python爬取学校题库_如何使用 Python 爬虫爬取牛客网 Java 题库?
[原文链接]http://www.changxuan.top/?p=146 由于"打怪"失败,最近一直在牛客网上刷题复习备战春招.其中有个 Java专题复习题库,我刷着刷着就想把它 ...
- 如何使用 Python 爬虫爬取牛客网 Java 题库?
[原文链接]http://www.changxuan.top/?p=146 由于"打怪"失败,最近一直在牛客网上刷题复习备战春招.其中有个 Java专题复习题库,我刷着刷着就想把它 ...
- 牛客网---Java题库(11~20)
11.进程和线程的区别是什么? 1.地址空间和其他资源:进程间相互独立,同一进程的各线程间共享. 2.通信:进程间通信PIC,线程间可以直接读写进程数据段(如全局变量)来进行通信(需要通过进程同步和互 ...
- 牛客网---Java题库(21~30)
21.lterator和Listlterator的区别是什么? literator可用来遍历Set和List集合,但是Listlterator只能用来遍历List. Iterator对集合只能是前向遍 ...
- 牛客网-SQL题库笔记
牛客网-SQL题库笔记 01.最晚入职员工的所有信息 02.查找入职员工时间排名倒数第三的员工所有信息 03.查找各个部门当前领导当前薪水详情以及其对应部门编号 04.查找所有已经分配部门的员工的la ...
- 牛客网sql题库(1-30题)—— 个人答案与过程解析
本篇博客分享一下我在牛客网sql题库刷题时,自己敲出来的结果.结果均通过了牛客网的结果验证. 具体的题目就不放在博客中了,感兴趣可以自行去搜索牛客网,找到sql题库在线编程 每道题下面都有我自己写的题 ...
- 牛客网数据开发题库_牛客网SQL题库NO.32~40
不要问为什么没有31题,大概被牛客吞掉了吧,哈哈哈哈 SQL 32[简单] 将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分 CREA ...
- Python每日一练——第7天:从入门到实践四十招(牛客网新题库)
文章目录 1. 单词造句 2. 重复出现的字符串 3. 幸运数字大小 4. 九九乘法表 5. 判断素数 6. 拯救被污染的字符串 7. 程序员节 8. 密码游戏 9. 牛牛学字母 10. 如何让刷题更 ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
最新文章
- python基础一循环
- php cms word导入,phpcms V9文章编辑器不能按word文档复制过来的段头缩进显示
- JMeter初探四-Fiddler录制与实战
- win10禁用驱动程序强制签名_图文细说 win10系统未检测到第三个监视器的途径 -win10使用教程...
- [转载].gdb调试器快速入门
- 性能测试:基础(1)
- 图片 + 未知宽高 + 垂直居中
- GSM模块(SIM800L)收发短信 串口调试
- spring Aop 实现原理
- python qq空间留言批量删除_易语言实现QQ空间留言批量删除的代码
- U盘快捷方程病毒 iexplore.vbs
- catic备份mysql,Catic构建与部署
- 呼叫系统的技术实现原理和运作流程
- vue + 高德原生 API实现地图可视化
- linux查看exif软件,EXIF信息查看器使用教程及功能解析
- 我在做售前-5.如何应聘售前
- 电子设计教程37:LC选频放大器与LC正弦波发生器
- 如何解决桌面IE图标不见了?
- 卡西欧计算机怎么算反函数,卡西欧fx-9750GII计算器-卡西欧计算器
- CZSC 官方文档(0.6.8)