Java面试题之基本语法(图解)
本文的主要内容包括在下图,下面来一起看看吧。
1、&和&&的区别
2、switch
switch语句能否作用在byte,能否作用在long上,能否作用在String上,还能用在哪里?
switch支持的类型是byte,short,char,int。本质上说,switch仅仅只能支持int类型.(byte,short,char,会自动提升为int类型),所以,switch不支持long类型
3、final
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
4、"=="和"equals"方法究竟有什么区别
5、Overload和Override的区别
Overload是方法重载, Override是方法重写,两者除了名字比较像外,没啥关系
6、构造器Constructor是否可被override
构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload。
7、序列化接口的id有什么用
序列化版本的控制.对象序列化到存储设备上,数据和原始类结构之间就没有了必然的联系,他们联系的依据就是类的全限定名.那么代码中类的结构是可以改的,采用序列化id来作为一个版本的控制,当类的结构发生变化时,我们就改变序列化的id版本值,在反序列化的时候,对比序列化文件的类型的版本号是否和当前类型的版本号相同,如果相同,则反序列化,如果不同,则报错.
8、hashCode方法的作用
1.一般来说,equals这个方法是给用户调用的,如果你想判断2个对象是否相等,你可以重写equals方法,然后在代码中调用,就可以判断他们是否相等了.
2.hashCode方法一般用户不会去调用,比如在HashMap中,由于key是不可以重复的,他在判断key是否重复的时候就判断了hashCode这个方法,而且也用到了equals方法,这里说的不重复是说hashCode和equals只要有一个不等就可以了.所以简单来说,hashCode相当于一个对象的编码,就好像文件中的md5,他和equals不同就在于他返回的是int型的,比较起来不直观,我们一般重写equals的同时也重写hashCode,让他们逻辑一致
9、Java中多态的机制是什么
靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行时才动态绑定,引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量类型中定义的方法.
10、接口和抽象类的区别
11、JDK中哪些类是不能被继承的
被final修饰的类是不能被继承的
八大基本数据类型包装类和String等
12、final, finally, finalize的区别
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
Kotlin 与 Java基本语法对比
Kotlin 与 Java基本语法对比 Kotlin比Java更年轻,但它是一个非常有前途的编程语言,它的社区不断增长. 每个人都在谈论它,并说它很酷. 但为什么这么特别? 我们准备了一系列文章,分享我们在Kotlin开发Android应用程序的经验. 我们将讨论Kotlin与Java在语法,可用性,UI性能和异步性方面的区别,以便您可以决定哪种语言最适合您. 让我们从一些基本的语法差异开始. 这是第一个: 1. 使用Kotlin,你可以用更少的代码做更多 Kotlin的一个主要优点是它的简洁.
-
Java基本语法笔记(菜鸟必看篇)
一.关键字&标识符 1.关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词): 2.保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用.自己命名时要避免使用这些保留字: 3.标识符:凡是自己可以起名字的地方都叫标识符: 4.标识符命名规则(必须遵守): 1.由26个英文字母大小写,0-9,_或$组成: 2.数字不可以开头: 3.不可以使用关键字以及保留字,但能包含关键字以及保留字: 4.Java中严格区分大小写,长度无限制: 5.标识符不能包含空格: 5.Java中的
-
Java入门基础之Java的基本语法与Java所支持的数据类型
Java 应用程序可以被定义为对象的集合,这些对象通过调用各自的方法来进行通信.下面让我们具体看一看类,对象,方法,实体变量是什么含义. 对象:对象具有状态和行为.例如:狗有它的状态-颜色,名字,品种,同时也有行为-摇尾巴,汪汪叫,吃东西.对象时类的一个实例. 类:类可以被定义为描述对象所支持的类型的行为和状态的模板或蓝图. 方法:方法是一种基本的行为.类中可以包含很多方法.在方法中,可以编写逻辑,操纵数据,执行动作. 实体变量:每个对象都有它的特殊的实体变量的集合,一个对象的状态是由那些实体变
-
java 学习笔记(入门篇)_java的基础语法
前言 学习完了第一个java程序,之后就来系统的学习java.先从基础语法开始,这个语法你也可以理解为英语或是汉语里面的语法,只不过大家各有各的特点和区别.学习编程其实也是一个编程语言的学习过程.我们在学习英语的时候都说,要想学习好英语一定要动口说,那么在学习编程的时候你一定要动手写.编程无非就是一个写代码的过程,首要就是你心中要有基础,没有基础怎么去写呢,就像一篇好文章,没有好文笔是写不出来的.好文笔不仅靠积累,更要靠创造,编程亦是如此.java是一个面向对象的语言,在写代码的过程中,接触最多
-
Java面试题之基本语法(图解)
本文的主要内容包括在下图,下面来一起看看吧. 1.&和&&的区别 2.switch switch语句能否作用在byte,能否作用在long上,能否作用在String上,还能用在哪里? switch支持的类型是byte,short,char,int.本质上说,switch仅仅只能支持int类型.(byte,short,char,会自动提升为int类型),所以,switch不支持long类型 3.final 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 4.&
-
最有价值的50道java面试题 适用于准入职Java程序员
下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最新版本,去掉了EJB 2.x等无用内容,补充了数据结构和算法相关的题目.经典面试编程题.大型网站技术架构.操作系统.数据库.软件测试.设计模式.UML等内容,同时还对很多知识点进行了深入的剖析,例如hashCode方法的设计.垃圾收集的堆和代.Java新的并发编程.NIO.2等,相信对准备入职的Ja
-
Java 面试题和答案 - (下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP. 异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet JSP 异常处理 43.Java中的两种异常类型是什么?他们有什么区别? Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常.不受检查的异
-
Java面试题-实现复杂链表的复制代码分享
阿里终面在线编程题,写出来与大家分享一下 有一个单向链表,每个节点都包含一个random指针,指向本链表中的某个节点或者为空,写一个深度拷贝函数,拷贝整个链表,包括random指针.尽可能考虑可能的异常情况. 算法如下: /* public class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) { this.labe
-
java面试题之try中含return语句时代码的执行顺序详解
前言 最近在刷java面试题偶然看到这类问题(try/finally中含有return时的执行顺序),觉得挺有意思于是小小的研究了一下,希望经过我添油加醋天马行空之后,能给你带来一定的帮助,下面来看看详细的介绍. 原题 try {} 里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行?什么时候被执行?在return前还是后? 乍一看题目很简单嘛,java规范都说了,finally会在try代码块的return之前执行,你这文章写得没意义,不看了 你等等!(
-
Java 面试题和答案 -(上)
本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP. 开始! 目录 面向对象编程(OOP) 常见的Java问题 Java线程 Java集合类 垃圾收集器 面向对象编程(OOP) Java是一个支持
-
Java常用类String的面试题汇总(java面试题)
1.比较两个字符串时使用"=="还是equals()方法? 当然是equals方法."=="测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相等.简单来说,基本数据类型都可以使用==.而引用类型使用==比较不了. 2.如何将字符串转化成int? 使用包装类Integer.Integer.valueOf("2");其他基本数据类型都是类似 3.为什么在Java中存储密码要使用char[],而不使用String. 因为St
-
Java 面试题基础知识集锦
经典的Java基础面试题集锦,欢迎收藏和分享. 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示"main方法不是public的". 问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝. 问题:如果要重写一个对象的equals方法,还要考虑什么? 答案:hashCode. 问题:Java的"一次编写,处处运行"是如何实现的? 答案:Java程序会被编译成字节码组成
-
Java面试题及答案集锦(基础题122道,代码题19道)
Java基础面试题及答案集锦(基础题122道,代码题19道),具体详情如下所示: 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性
-
阿里、华为、腾讯Java技术面试题精选
阿里.华为.腾讯Java技术面试题精选,具体内容如下 JVM的类加载机制是什么?有哪些实现方式? 类加载机制: 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构.类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载有三种方式: 1)命令行启动应用时候由JVM初始化加载 2)
随机推荐
- git版本回退_动力节点Java学院整理
- 教你自动恢复MySQL数据库的日志文件(binlog)
- 浅谈jQuery事件绑定原理
- win2003共享的文件不能访问的原因
- 设置tomcat启用gzip压缩的具体操作方法
- 常用python数据类型转换函数总结
- 动态样式类封装JS代码
- 关于foreach循环中遇到的问题小结
- MyBatis SqlMapConfig.xml配置
- js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
- Rails Routes中new、collection、member的区别浅析
- 如何将sql执行的错误消息记录到本地文件中实现过程
- Yii+MYSQL锁表防止并发情况下重复数据的方法
- Bootstrap Img 图片样式(推荐)
- 特络伊木马如何利用文件关联和设置名
- 使用HttpHanlder处理404:File not found的问题
- 无数据库的详细域名查询程序PHP版(4)
- 学习thinkphp5.0验证类使用方法
- 利用Swift实现一个响应式编程库
- 自己动手在Spring-Boot上加强国际化功能的示例