java面试题

1.JDK,JRE,JVM三者关系

    1. 、jdk是JAVA程序开发时用的开发工具包,其内部也有JRE运行环境JRE。
    2. 、JRE是JAVA程序运行时需要的运行环境,就是说如果你光是运行JAVA程序而不是去搞开发的话,只安装JRE就      能运行已经存在的JAVA程序了。
    3. 、JDk、JRE内部都包含JAVA虚拟机JVM,JAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等等。

2.面向过程和面向对象的区别

a.、两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。      b.、编程思路不同:面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、       执行方法来完成功能。

c.、封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。面向对象具有继承性和多态性,       而面向过程没有继承性和多态 性,所以面向对象优势是明显。

3.Java有哪些基本数据类型

定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。        a.数值型:整数类型(byte,short,int,long)

b浮点类型(float,double) c字符型(char)

d布尔型(boolean)

4.什么Java注释

定义:用于解释说明程序的文字分类:

单行注释:

格式: //注释文字

多行注释:

格式: /* 注释文字 */

文档注释:

格式:/** 注释文字 */

作用:在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。注释的内       容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的执行结果产生任何影响。

注意事项:多行和文档注释都不能嵌套使用。

5.Java 有没有 goto

goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。

6.final 有什么用?

用于修饰类、属性和方法;

a被final修饰的类不可以被继承

b被final修饰的方法不可以被重写

c被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变       的

7.final finally finalize区别

afinal可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个       常量不能被重新赋值。

bfinally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块中,表示不管是       否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。

cfinalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调       用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾,一个对象是否可回收的最后判断。

8.面向对象三大特性

a封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

b继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的       功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。

c所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序       运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必      须在由程序运行期间才能决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值