Java复习

来源:互联网 发布:gta5女性捏脸数据 编辑:程序博客网 时间:2024/04/30 20:24
1、Java语言的特点是什么? 简单性,面性对象,跨平台,安全性和健壮性,多线的,垃圾回收机制。2、如何编译和执行java文件?产生帮助文档用什么命令? 编译:javac  *.java    执行:java *class; 帮组文档:javadoc3、虚拟机的工作流程是什么? 编写源文件(*java)--->编写成解码文件(*class)——》类加载——》字节码校验——》解释器——》操作系统。4、main方法怎么书写? public static void main(String[]  aaa){}5、什么是标识符?标识符有几种?标识符的命名规则是什么? 标示符:凡是可以命名的地方都叫标示符,通常使用标示符来描述类,方法,变量。 分类:系统标示符   用户标示符 命名规则:类名以大写字母开头,采用驼峰命名,变量名以小写字母开始,采用驼峰命名。6、Java中基本数据类型有哪些?各占几个字节?Java中引用数据类型有哪些? 整形(byte  1 int 2  short 4   long 8) 浮点(float 4  double 8  char(2)   boolean(1)) 引用类型:类,接口,数组7、Java中char类型用什么编码? java字符采用unicode编码,每个字符占两个字节。8、变量三要素是什么? 标量三要素:变量名,变量值,变量类型9、Java的注释有几种? 单行注释:/     / 多行注释:/* */ 帮助文档:
/** 
 */
10、定义常量用什么关键字? final11、什么是对象?什么是类?对象和类的关系是什么? 对象:是存在的具体的实体,具有明确的特征和行为。对象由方法和属性构成。 关系:类是一组具有相同属性,相同行为的集合。 类:是对象的描述,对象时类的实例12、变量按作用域划分有哪几种?局部变量使用时需要注意什么问题? 局部变量 成员变量(属性) 类变量(静态变量) 局部变量使用时: 1:初始化。如果一个变量没有赋值就使用,会编译错误。 2:作用域; 3:修饰符只能是final或默认;13、静态变量和成员变量有什么区别?应该怎么调用? 静态变量和成员变量的区别: 1:静态变量时所有对象共享的变量,是唯一的。成员变量时每个对象都有的。 2:静态变量放在数据段中的,成员变量放在堆中。 3:静态变量限于对象加载。 成员变量调用:对象名.成员变量 静态变量调用:对象名.静态变量 类名.静态变量。14、垃圾回收GC回收什么样的对象? 回收没有被变量指向的对象。15、什么是包?包的作用是什么?如何导入别的包中的类?什么样的类不需要导入? 包:就是文件夹 作用:1:组织相关的类 2:做信息隐藏 不需要导入的类: Import 类的全路径 Java.lang*本包中的类16、静态方法能直接调用成员方法或属性吗?为什么? 不能 静态方法只能调用静态变量。因为静态方法加载时间都在对象之前。 而成员方法和属性只有在对象产生之后,才会产生。17、当传递和返回对象,传递和返回的是什么? 传递的是变量名,返回的是变量值。(对象的地址)。引用。18、什么是构造方法?构造方法的作用是什么? 构造方法:方法名和类名相同,没有返回类型 作用: 1:为对象分配空间 2:如果该类没有加载则加载该类。 3:初始化成员变量。 4:返回引用。19、创建对象有几种方式? 1:直接在main方法里new 一个对象 2:通过反射的方式。反射(类模板.newInstance) 克隆(Object 中的clone()) (ObjectInputStream中的readObject)。20、this和super各代表什么含义? this表示当前对象 super 子对象对父对象的引用。21、数组如何定义? 他是一组相关数据,放在一个连续的空间以减少cpu扫描内存的时间,提高效率。 Int[] a new int[4]22、数组、字符串、集合各自的长度如何获得? 数组:length属性 字符串:length方法; 集合:size方法。23、数组有哪些特点?数组的特点:1、是一个连续的空间,下表从0开始,最大下标长度为-1; 2、数组的元素是变量; 3、数组在创建时都会做初始化,若果是int-?0 double-?0.0 引用类型-?null; 4、数组创建后就不可以改变。24、继承用什么关键字?子类继承父类,构造方法第一句应该如何书写? 继承的关键字:extends 子类继承父类构造方法的第一句:super()25、重写和重载的区别是什么?重写有什么要求? 重载:发生在同一类中,重载和返回类型无关,及参数列表不同,方法名相同。 重写:重写发生在父类和子类之间重写父类继承的方法,从而可以添加或改变父类中的方法的行为。 重写的要求:要求:方法名相同 返回类型相同 参数列表不同26、Java中一个类能同时继承多个类吗?所有类的父类是什么? 一个类不能同时继承多个类 所有类的父类是:Object27、构造方法能继承吗?构造方法能重载吗? 构造方法不能继承,可以重载。28、final、finally、finalize的区别是什么? final:是方法修饰符修饰类,方法,变量;修饰类表示不能被继承,修饰方法表示方法不能被子类重写。修饰变量表示该变量的值不能改变。 finally:是无论是否有异常都会执行的代码块,一般用于资源清理(流的关闭,数据库连接关闭); finalize:是Object中的定义的方法,在当前对象呗垃圾回收之前调用。29、访问修饰符有哪些?各自作用范围是什么? 访问修饰符:1、Public(公有) 2、protect(受保护):本包中及其他包中的子类 3、默认:用于本包中 4、Private(私有):用于本类中。30、什么是内部类?内部类class文件是怎样命名的? 内部类:在一个类中定义的类(内部类相当于外部类的属性,不能直接产生对象,内部类对象的产生必须依赖于外部类的对象) 命名:外部类名$内部类名.class31、什么是多态?多态有什么特点? 多态:允许子类引用父类的对象,允许接口类型引用实例化对象。 特点:相同的行为不同的实现。32、面向对象的特征有哪些? 继承 封装 多态 抽象33、什么是抽象类?什么是抽象方法?定义抽象类的关键字是什么? 抽象类:拥有抽象方法的类,叫做抽象类 抽象方法:只有方法的定义,没有方法的实现 定义抽象类的关键字:instanceof34、接口如何定义?实现接口用什么关键字?一个类实现接口必须做什么? 接口的定义:public interface 接口名 实现接口的关键字:implements 一个实现接口必须做的事:必须要重写接口中的定义的所有抽象方法35、接口中定义的方法修饰符是什么?接口中定义的变量修饰符是什么? 接口中定义的方法修饰符:public 接口中定义的变量修饰符:public static final36、抽象类和接口的区别是什么? 抽象类和接口的区别:1、抽象类中可以有方法的定义(抽象方法),也可以由方法的实现(具体方法); 而接口中只能有方法的定义 2、接口中定义的变量必须是公共的静态变量;而抽象类中定义的是普通变量 3、一个类只能继承一个抽象类,但可以实现多个接口 4、一个类只能继承另一个类,但一个接口可以继承多个接口37、异常的API结构是怎样的?Error和Exception有什么区别? Error:可以捕获异常,但不能处理 Exception:可以捕获,也可以处理。38、异常的执行顺序怎样?如果在try块中有return,finally会执行吗? 异常的执行顺序:先执行try快中的内容,若没有异常,继续按顺序执行,若有异常转到catch快中执行, 并终止try快中的执行。 会 如果try块中有return,finally会在跳出方法之前执行 39、finally是否在任何时候都会执行? finally不会再任何时候都执行 当虚拟机关闭时不会执行,除此之外finall在任何时候都执行。(system.exit())39、throw 和throws的区别是什么? throw和throws的区别: 1、throw是语句,thrownewException()抛出一个异常 2、throws他是一个方法修饰符表示要调用该方法必须处理方法中的错误41、异常分为几种?如何区分? 编译异常:要求用户必须处理; 运行异常:用户可处理可不处理所有的异常都 时RuntmeException的子类42、如何得到当前工作目录? System.getProperty(“user.dir”);43、String x = "abc" 和 String x = new String("abc")有什么区别? String x=“abc”:x指向数据段中字符串常量对象 String x=new String(“abc”):x指向堆中字符串对象 44、String和StringBuffer的区别? String和StringBuffer的区别:1、String的长度不可变,当对字符串进行添加,删除,替换时都不改变字符串 的内容,而产生一个新的字符串 2、StringBuffer会在缓冲区开辟一个空间,当对StringBuffer的内容作连接, 替换删除时,不会产生新对象。45、如何将字符串转化为基本数据类型? int x=Integer.parseint(“213”);46、如何将日期对象进行"2011-12-10"格式化输出?如何将"2011-12-10"字符串转化为日期类型? SimpleDateFormat s=new SimpleDateFormat(“YYYY-MM-DD”); String txt=s.format(new Date()); Date date=s.parse(“1993-01-24”);47、javaBean规范有哪些内容? javaBean的规范:1、javaBean必须包含一个无参的public构造方法; 2、属性必须都是私有的; 3、JavaBean必须包含符合命名规范的get和set方法以便访问JavaBean的 属性; 4、JavaBean应该是可序列化(SeriaLizable)的。48、什么是反射? 反射:在编译时,并不知道应该加载那个类,累的加载时程序运行期间进行的,通过反射,我们可以对类进行加载, 探知,自省。49、如何得到Class对象?如何利用Class对象产生该类的对象? 得到Class对象的方法:方法一:对象.getClass得到 方法二:通过 类名.Class 方法三:Class.forName(“类的全路径”); 利用Class对象产生该类的对象:Class 对象.newInstance();50、线程和进程的区别? 进程:是一种自包容的运行程序,有操作系统直接管理,直接运行自己的地址空间,每一个进程开始都会消耗内存; 线程:时进程的内部单一的顺序控制流,一个进程拥有多个线程,多个线程共享一个进程的内存空间。
0 0
原创粉丝点击