Java简答题整理(一)
入门基础简答题
1.for each 语句是什么。
答:格式:for(声明循环变量:数组的名字) {
……
}
定义一个循环变量用于暂存集合中的每一个元素,并执行相应的语句(也可以是语句块)。集合表达式必须是一个数组或者是一个实现了lterable接口的类(例如ArrayList)对象。声明的循环变量的类型必须和数组的类型相同,对于循环变量依次取数组的每一个元素的值。
2.Java数据类型可以分为哪两大类。
答:基本数据类型、引用类型。
基本数据类型:字符型(char)、布尔型(boolean)、数字型(又分为整数型和浮点型,整数型:字节型、短整型、整型、长整型,浮点型:单精度、双精度)
引用类型:类(class)、接口(interface)、数组(array)、枚举(enum)
3.&&和&的区别。
答:&&是逻辑与运算符,&是按位与运算符,它们都是双目运算符,区别是:对于a&&b和a&b(a、b为布尔值),位运算符要在计算完a、b的值之后再给出运算结果,当a为false时,逻辑与运算符不计算b表达式,直接给出false,位运算符仍要计算b表达式的值。
4.简述instanseof运算符。
答:instanseof运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面类或其子类创建的对象时,该运算符的结果是true,否则是false。
类与对象
1.简述类变量和实例变量的区别。
答:加上static称为类变量或静态变量,否则称为实例变量;
类变量是与类相关的,公共的属性;
实例变量属于每个对象个体的属性;
类变量可以通过类名.类变量名直接访问,也可通过对象名.类变量名访问,实例变量只能通过对象名.类变量名访问。
2.简述类方法和实例方法的区别。
答:对象调用实例方法
当对象调用实例方法时,该方法中出现的实例变量就是分配给该对象的实例变量;该方法中出现的类变量也是分配给该对象的变量,只不过这个变量和所有的其他对象共享而已。
类名调用类方法
从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。和实例方法不同的是,类方法不可以操作实例变量,这是因为在类创建对象之前,实例成员变量还没有分配内存。
3.方法重载与方法重写(覆盖)的区别。
答:方法重载(行为的多态性):在一个类中可以有多个方法具有相同的名字,但方法的参数必须不同(参数个数不同或参数个数相同但参数列表中对应的某个参数的类型不同)。
方法重写(与继承有关的多态):发生在子类继承父类方法时。重写方法的类型必须与父类相同或是父类方法类型的子类型;重写的方法的名字、参数个数、参数类型必须与父类完全相同。
4.面向对象语言有哪三个特性。
答:封装,将对象的数据和基于数据的操作封装成一个独立性很强的模块。
继承,在当前类的基础上创建新类,在其中添加新的属性和功能。当前类与新类之间是一种一般性与特殊性的关系。
多态,一个程序中同名的不同方法共存,子类的对象可以响应同名的方法,具体的实现方法却不同,完成的功能也不同。
5.多态是如何实现的。
答:多态实现的前提必须是在继承关系下,必须重写方法;
多态实现遵循两个要点,其一将把子类对象向上转型为父类类型,其二采用父类对象调用同名的方法,系统则可通过动态绑定自动识别调用的方法所属类;
多态是一种继承关系下基于动态绑定机制的接口特例。
接口方式实现多态;继承父类进行方法重写;同一个类中进行方法重载。
多态存在的必要条件:有继承、有重写、向上转型(父类引用指向子类对象)。
6.简述this关键字的作用。
答:this表示某个对象,可以出现在实例方法和构造方法中,但不可以出现在类方法中。
在构造方法中使用this:当this出现在构造方法中时,代表使用该构造方法所创建的对象;
在实例方法中使用this:实例方法只能通过对象来调用,不能用类名来调用。当this出现在实例方法中时,this就代表正在调用该方法的对象。实例方法可以操作类的成员变量,当实例成员变量在实例方法中出现时,默认的格式是:this.成员变量。类的实例方法可以调用类的其他方法,对于实例方法,调用的默认格式是:this.实例方法。
7.static可以修饰构造方法吗。
答:不可以。类方法是独立于对象的类的方法,不能创建实例,而构造方法是用来实例化对象的,而且static方法允许通过类名.静态方法名(实参)来调用,当构造方法不允许手动调用。
8.什么是可变参数。
答:在声明方法时不给出参数列表中从某项开始直至最后一项参数的名字和个数,但这些参数的类型必须相同。可变参数用...表示若干个参数。
9.简述对象的组合和复用。
答:一个类可以把某个对象作为自己的一个成员变量。
如果一个对象a组合了对象b,那么对象a就可以委托对象b调用其方法,即对象a以组合的方式复用对象b的方法。
子类与继承
1.对象的上转型对象有什么特点?
答:上转型对象不能操作子类新增的成员变量;不能使用子类新增的方法。上转型对象可以操作子类继承或者隐藏的成员变量,也可以使用子类继承的或者重写的方法。上转型对象操作子类继承或重写的方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个方法,则当对象的上转型对象调用这个方法时一定是调用了这个重写的方法。
2.简述super关键字的作用。
答:super关键字指代父类对象引用;
访问被子类隐藏的父类同名成员变量和成员方法;
调用父类构造方法,且必须在子类构造方法的第一条代码;(子类构造方法执行的时候,如果没有用super显式调用父类构造方法,将默认执行super(),即系统会默认调用父类不带参的构造方法,因此,最好定义父类不带参的构造方法,以免程序报错!)
注意:不能在静态方法中使用super和this关键字。
3.什么是面向抽象的编程。
答:当设计某种重要的类时不让该类面向具体的类,而是面向抽象类,即所涉及类中的重要数据是抽象类声明的对象,而不是具体类声明的对象。面向抽象编程的核心是让类中每种可能的变化对应地交给抽象类的一个子类去负责,从而让该类的设计者不用关心具体的实现。
4.简述动态绑定。
答:如果在父类和子类中都提供了相同的方法,而此方法被转型后的对象使用,那么系统将会自动调用子类中的方法,原因是Java提供了动态绑定机制,能识别出对象转型前的类型,从而自动调用该类的方法。
绑定: 将一个方法调用同一个方法主体连接到一起
静态绑定:也就是在编译时编译器就能准确地判断应该调用哪个方法。
动态绑定:程序在运行期间由JVM自动地判断应该调用那个方法。
Java简答题整理(一)相关推荐
- 考研复试408-操作系统简答题整理
考研复试408-操作系统简答题整理 1. 什么是操作系统?有哪些基本功能? 操作系统定义: 操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合-他们管理和控制计算机系统中 的硬件及软件资 ...
- JAVAEE考试简答题整理
J2EE考试简答题 1. 简述Servlet生命周期 Servlet生命周期(图解) (biancheng.net) 1) 初始化阶段 当用户第一次向 Servlet 容器发出 HTTP 请求要求访问 ...
- 计算机网络名词解释知识点简答题整理
名词解释: 基带传输:比特流直接向电缆发送,无需调制到不同频段: 基带信号:信源发出的没有经过调制的原始电信号: URL:统一资源定位符,标识万维网上的各种文档,全网范围唯一: 传输时延:将分组的所有 ...
- 重庆邮电大学计算机专硕考研计网803历年真题简答题整理
转到计算机网络资料 计算机网络复习知识点总结-完整简洁版 1.ipv6相对ipv4有哪些方面的改进: (1)更大的地址空间,32位扩大到128位: (2)扩展的地址层次结构: (3)灵活的首部格式: ...
- java十四章简答_java各章节简答题
Java简答题第1章 1.Java语言的特点? 答:简单性.面向对象.分布式处理.健壮性.结构中立.安全性.可移植性.解释性.高性能.多线程.动态 2.Java程序的开发步骤 1)编写源文件.扩展名必 ...
- 一个java应用程序必须且只有一个类含有什么方法_JAVA简答题!!!
Java简答题 1.简述java语言的特点? 1.2 Java语言是目前使用最为广泛的网络编程语言之一(1分) 具有面向对象(1分) 与平台无关性(1分) 多线程性(1分) 动态性等特点(1分) 2. ...
- 《微机原理与接口技术》简答题总结
重点: 8086/8088.寻址方式.汇编指令.转移指令.中断.8253.8255.8259 必须知道的基础就不标★了 PDF打印版下载:微机原理简答题整理PDF版 一.8086/8088 1. 简述 ...
- 2018java二级考试大纲_2018年全国计算机二级java考试简答题练习二
2018年全国计算机二级java考试简答题练习二 1.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 答:接口可以继承接 ...
- java异常处理机简答题,【简答题】JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义?...
[简答题]JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义? 更多相关问题 用蒸汽进行设备管线吹扫时,应将被吹扫的设备管线,相应 ...
- java第七章jdbc课后简答题_Java周测题08.13
1.关于Mybatis的描述正确的是:Mybatis是持久层框架,Mybatis封装了JDBC,Mybatis简化了代码的编辑和使用,Mybatis是一个半ORM(对象关系映射)框架, Mybatis ...
最新文章
- Kafka集群配置说明
- 为什么要打jar_生活在西北的兰州人过春节为什么要打太平鼓?
- 运行Qt程序的一些注意事项
- The content of elements must consist of well-formed character data or markup
- Idea 版本控制冲突解决
- android中Adapter适配器的讲解
- 服务器2008r2网络禁止修改,windows-server-2008-r2 – Windows 2008 R2标准服务器 – 如何禁用RC4...
- 021.4 IO流——字节、字符桥梁(编码解码)
- 白事碰上红事,徐渭应景吟诗
- 枚举根节点、安全点、安全区域、OopMap
- error: Zip file too big (greater than 4294959102 bytes)
- 如何把html文件转化为mp3,如何将Flash转换为MP3
- 浙大PAT甲级题目1081-1100详细代码解答|标准答案|C++语言|浙软机考
- c语言且不用 怎么表示,“并且”用C语言怎么表示
- 浅谈JavaScript、ES5、ES6 ,,转自http://www.cnblogs.com/lovesong/p/4908871.html
- Docker镜像基础命令
- 软考java题目_软件工程软考题目总结
- 主流的B/S架构模式在软考教程里居然是被一笔带过的。
- java 学习之 字符反写
- 程序人生:程序员如何实现财富自由?