1、Java语言的特点是什么?
答:简单,跨平台性,安全性,健壮性,面向对象,垃圾回收机制,多线程
2、如何编译和执行java文件?产生帮助文档用什么命令?
答:javac 文件名.java 编译java文件 java 类名 执行.class文件 javadoc 文件名产生文档
3、虚拟机的工作流程是什么?
编写源文件,通过javac编译成class 文件 类加载------字节码验证—通过解释器为不同操作系统进行翻译和解释,由操作系统去执行
4、main方法怎么书写?
答:Publicstatic void main(String [ ]args){
}
5、什么是标识符?标识符有几种?标识符的命名规则是什么?
答:标识符是用来给类,对象,方法,变量,接口和自定义数据类型命名的。标识符由字母数字下划线和美元符号组成,开头只能是字母下划线 和美元符号
类名一般是首字母大写,采用驼峰命名法。变量名和方法名首字母小写,采用驼峰命名法,常量全是大写字母,单词之间用下划线连接。
6、Java中基本数据类型有哪些?各占几个字节?Java中引用数据类型有哪些?
答: long 8double 8 float 4 int 4 char 2 short 2 byte 1 boolean 1
引用数据类型:类,数组,接口
7、Java中char类型用什么编码?
答:unicode码 (统一码,万国码)
8、变量三要素是什么?
答:变量类型,变量名,变量值
9、Java的注释有几种?
答:三种 (单行// 多行/* */ 文档注释/** */)
10、定义常量用什么关键字?
答:final
11、什么是对象?什么是类?对象和类的关系是什么?
答:对象是行为和属性的封装,对象因为关注而产生。类是对对象的抽象。类是对象的蓝图,对象是类的实例
12、变量按作用域划分有哪几种?局部变量使用时需要注意什么问题?
答:局部变量,成员变量,静态变量。局部变量只在方法内部,方法结束,局部变量结束
局部变量放在栈中(栈结束则结束),成员变量是放在堆中(对象结束成员变量才结束),静态变量放在数据段中(虚拟机关闭才结束)
13、静态变量和成员变量有什么区别?应该怎么调用?
答:1 静态变量在虚拟机加载的时候就已经加载入内存中,成员变量是对象产生时产生
2 所有对象共享一个静态变量。成员变量因对象不同而不同。
3 可以通过类名点 变量名的方式调用。成员变量需要创建对象后,用对象名点变量名的方式调用。
4 存放空间不一样,静态变量在数据段中,成员变量在堆中
14、垃圾回收GC回收什么样的对象?
答:没有引用指向的对象
15、什么是包?包的作用是什么?如何导入别的包中的类?什么样的类不需要导入?
答:包是类的容器,用于组织类,做信息隐藏,用于分隔类名空间。Import 包名点类名。 Java.lang包里的类以及本包的类
16、静态方法能直接调用成员方法或属性吗?为什么?
答:不能。因为静态方法在加载时就加载进内存,可以直接调用,但是成员方法和属性只有通过对象的产生而产生,所以无法知道他们具体是什么,会产生编译时异常。
17、当传递和返回对象,传递和返回的是什么?
答:对象的引用。
18、什么是构造方法?构造方法的作用是什么?
答:与类名一样,只有修饰符而没有返回值的特殊方法,用于创建对象。
首先再堆中划分空间,
并且在该空间划分属性,
并对属性进行初始化
执行构造方法中的代码
返回对象的引用
19、创建对象有几种方式?
答:使用关键字new ,反射,反序列化,克隆
20、this和super各代表什么含义?
答:this可以任意调用本类方法和属性, 也可以调用父类的方法和属性,但是受到访问修饰符影响。this(); 调用本类构造器,只能写入构造器的第一句。并不会默认写入
Super不能调用当前内的方法和属性,调用父类的方法和属性也要受到访问修饰符的影响。
super(); 调用父类构造器,当子类没有写的时候,系统会默认写入一个无参的父类构造器的调用方法 super(); 若是父类没有无参构造器且子类没有写入 super(**);有参。则会报错。 同this() 一样,只能写在构造器的第一局。
This() 和super() 只能存在一个在构造器里面。