1、Java语言的特点是什么?
答:简单,跨平台性,安全性,健壮性,面向对象,垃圾回收机制,多线程
2、如何编译和执行java文件?产生帮助文档用什么命令?
答:javac 文件名.java 编译java文件 java 类名(带main方法) 执行 javadoc 文件名 产生文档
3、虚拟机的工作流程是什么?
编写源文件,通过javac编译成class 文件 类加载------字节码验证—通过解释器为不同操作系统进行翻译和解释,由操作系统去执行(跨平台的原因)
4、main方法怎么书写?
答:Public static void main(String [ ]args){ }(main方法的变形补充)
5、什么是标识符?标识符有几种?标识符的命名规则是什么?
答:标识符是用来给类,对象,方法,变量,接口和自定义数据类型命名的。标识符由字母、数字、下划线和美元符号组成,开头只能是字母、下划线和美元符号
类名一般是首字母大写,采用驼峰命名法。变量名和方法名首字母小写,采用驼峰命名法,常量全是大写字母,单词之间用下划线连接。
6、Java中基本数据类型有哪些?各占几个字节?Java中引用数据类型有哪些?
答: long 8 double 8 float 4 int 4 char 2 short 2 byte 1 boolean 1(float比long类型更大, long接收float类型必须强转)
引用数据类型:类,数组,接口
基本类型和引用类型的差别:基本类型放数据的值,引用类型放对象的地址
7、Java中char类型用什么编码?
答:unicode编码(统一码,万国码)
8、变量三要素是什么?
答:变量类型,变量名,变量值
9、Java的注释有几种?
答:三种 (单行// 多行/* / 文档注释/** */)
10、定义常量用什么关键字?
答:final Final修饰常量不能变, final修饰引用引用地址不变,
11、什么是对象?什么是类?对象和类的关系是什么?
答:对象是行为和属性的封装,对象因为关注而产生。类是对对象的抽象。类是对象的蓝图,对象是类的实例
12、变量按作用域划分有哪几种?局部变量使用时需要注意什么问题?
答:局部变量,成员变量,静态变量。局部变量只在方法内部,方法结束,局部变量结束, 局部变量①使用之前必须要初始化,否则会编译错误。②使用时要注意局部变量的作用范围。③修饰符,只能是默认和final(因为方法一结束马上释放)。
局部变量放在栈中(栈结束则结束),成员变量是放在堆中(对象产生才产生,对象结束成员变量才结束,由构造方法给它初始化),静态变量放在数据段中(虚拟机关闭才结束,类的一部分,不是对象的一部分)
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() 只能存在一个在构造器里面。
子类可以重用父类的:因为子类产生之前会先产生一个父类对象