java面向对象的面试题_java 面向对象 面试题

本文探讨了Java的跨平台机制,从源代码到执行的全过程,包括JDK和JRE的区别、数据类型、常量定义、逻辑运算符的差异,以及面向对象的封装、继承和多态等核心概念。同时,详细阐述了Java的执行过程,从源文件编译成字节码,再到类加载器、字节码检验和解释器的交互,强调了解释器在Java跨平台中的关键作用。
摘要由CSDN通过智能技术生成

2. java是如何做到跨平台的?

源程序(java)--字节码(二进制class)--类装载器(加载)—字节码检验器—解释器(不同版本,跨平台根本原因)---操作系统平台(编译加解释语言)编译:产生一个新文件。解释:没有新文件产生。

3.java程序员的执行过程是怎样的?

先由程序员书写java源文件,再由javac(编译)命令操作源文件将其编写为class文件,在通过java(运行)命令进入类加载器,再有字节码检效器对其检验,无误后通过解释器解释给操作系统执行。

4.JDK和JRE的区别是什么?

开发工具包和运行环境(无编译器),jdk包含jre,还有编译器,调试器,API文档等开发人员所需,jre只包含运行环境。

5.java数据类型有哪些?

(1).以什么方式表达数据,(2).划分多大的空间存储数据。

小数转二进制,乘2取个位顺取如0.8125为0.1101,所以浮点有误差。byte 256

基本数据类型:整数  浮点  字符  布尔

引用数据类型:类,数组,接口,引用只有四个字节。

6.为什么要定义常量?

字面常量:直接在代码中书写的数据

符号常量:final定义的别名常量

(1)把业务含义带入值当中,见名知意。(2)便于修改。

变量首字母小写,后面单词大写。

7.&&与&的区别

&是位运算符,按位进行比较,如5&4为4,0和1,&&是逻辑运算符。|为位运算符如5|4为5,~为按位取反~5为2。^异或:相同取0,不同为1,5^4为1则任何数异或自己为0,任何数异或0为其本身。也叫翻面。1?2:3,1为真,则执行表达式2,否则执行3。做类型转换时如果能包含最大常量值时,他才可以转换。

( 面向对象)

面向对象三大特征:三大特征 :封装,多态,继承(抽象:现在还不确定)

虚拟机工作原理:源程序——java编译器——字节码——类装载器——字节码检验器——解释器——操作系统平台。

java 跨平台:解释器是java跨平台的根本原因。(开源) 解释器+编译器

jre :java 运行环境    (包括:用户安装jre)

(开发人员用)jdk:java 运行工具   包括jre,编译器 API文档

Java的执行过程:程序员先书写源文件,然后通过javac命令操作编译器,将源文件编译成字节码文件,再通过java命令运行,运行过程中首先通过类加载器,将字节码文件加载到内存中,然后通过字节码校验器进行校验,检验无误,通过解释器给系统执行。字节码都是一样,但是在不同的操作平台是由解释器解释的。

数据类型:作用:以什么方式表达数据。划多大空间储存数据。

基本类型:整数类型:byte short  int long

浮点类型:short double

布尔 :boolean

字符:char

常量:(final)两种 :

1.字面常量

2.符号常量(1.把业务含义带入常量值当中 2.便于修改)

&:位运算符;可以作为逻辑判断。不短路的&

&&:逻辑运算符

%符号前后端不能有小数。~位非。

什么是封装:

含义:1.类的组装   class a {

属性//值数据

方法//行为,功能

}

2.信息隐藏:1.访问修饰符:(3个关键字,4种情况)2.方法的实现

id(属性):唯一标示符(非空);

标准java类规范——javaBean:

1.必须要有公共无参构造。

2.必须为私有属性提供符合命令规范get,set方法。

继承:extends——单继承: ( 属性会继承下去,方法会继承下去。    根据访问修饰符决定是否能调用式重写),构造方法不会继承下去:语法,思想

单继承——object(根类)1.toswing:返回一个对象字符串的描述

2.equals:判断两个对象业务上是否相等

“==”是判断两个引用否指向同一个象。

3.finalize:protectde(受保护的)                                                   GC :调用该(finalize)方法回收对象

finalize——销毁对象

运行机制:内存叠加。

继承:is a 关系

属性:has  a关系

传参:use  a 关系

不断抽取父类到了某个程度——抽象方法(抽象类)。

抽象方法:有抽象方法的类一定不能产生对象了(因为对象是具体的实际的存在,不可能有未知的行为)所有这个类一定是抽象类。

语法上允许抽象类没有抽象方法,但是这么做失去了设计抽象的意义。

final(关键字):可以修饰类 (最终类)类不能在改变。

面向对象总结的一小部分的流程图

5671773.html

b7d514e4040404e17a14eb733378ac06.png

f8009b26da8b6ee0ae51b001bdafa9ea.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值