java基础面试题01

来源:互联网 发布:动态屏保软件 编辑:程序博客网 时间:2024/05/19 14:52

一、Java的三种技术架构

JAVAEE:Java Platform Enterprise Edition ,开发企业环境下的应用程序,主要针对web程序开发。

JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其他两者的基础。

JAVAME:Java Platform Micro Edition  ,开发电子消费产品和嵌入式设备。


二、JDK和JRE的区别

JDK:Java Development Kit , Java的开发和运行环境,java的开发工具和jre。

JRE:Java:Java Runtime Environment ,java程序的运行环境,java运行的所需的类库+JVM(虚拟机)。


三、javac命令和java命令能做什么事

javac:负责的是编译,当执行javac时,会启动java的编译器程序,对指定扩展名的java文件进行编译,生成了jvm可以识别的字节码文件,也就是class文件,也就是java的运行程序。

java:负责运行,会启动jvm,加载运行时所需的类库,并对class文件进行执行。


四、java数据类型(2种)

基本型:byte  short  char  int  float  long  double  boolean  

引用型:类 class,接口interface,数组array。

五、&和&&的区别

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。


六、| 和 || 的区别

| 是数值运算,|的左右是二进制数然后根据二进制数进行运算

|| 是逻辑判断,左右是布尔表达式,然后进行逻辑和运算


七、栈和堆

栈:用于存储局部变量。

堆:存储数组和对象,就是实体


八、面向对象

特点:1、将复杂的事情简单化。

      2、面向对象将以前的过程中的执行者,变成了指挥者。

      3、面向对象这种思想是符合现在人们思考习惯的一种思想。

特征:

      1、继承子类继承于父类,具有父类所有的属性和方法,可以重用,也可以覆盖。

      2、封装。一个类可以有多个属性和方法

       3、多态。指允许不同子类型的对象对同一消息做出不同的响应,同一函数多种形态。分为编译时的多态性和运行时的多态性。


九、成员变量和局部变量的区别

成员变量:作为类的成员而存在,直接存在于类中,所有类的成员变量可以通过this来引用。

局部变量:作为方法或语句块的成员而存在,存在于方法的参数列和方法定义中。

成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制符修饰符及static修饰,两者都可以定义成final型。

成员变量储存在堆,局部变量存储在栈。局部变量的作用域仅限于定义他的方法,在该方法的外部无法访问他成员变量的作用域在整个类内部都是可见的,所有的成员方法都可以使用它。

成员变量有默认值,基本类型默认值0,符合类型的默认值null。局部变量不会自动赋值,所以要在定义后先赋初值,在使用。


十、构造函数和一般函数有什么区别

1、两个函数定义格式不同。

2、构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次

   一般函数是对象创建后,需要调用才执行,可以被调用多次。


十一、构造代码块和构造函数有什么区别

1、构造代码块:是给所有的对象进行初始化,也就是所有的对象都会调用一个代码块,只有对象一建立,就会调用这个代码块。

2、构造函数:是给与之对应的对象进行初始化。它具有针对性。

0 0