码迷,mamicode.com
首页 > 编程语言 > 详细

java 面向对象 面试题

时间:2016-07-14 23:50:17      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

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(关键字):可以修饰类 (最终类)类不能在改变。
 
 

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

技术分享

 

                            技术分享

技术分享

 

java 面向对象 面试题

标签:

原文地址:http://www.cnblogs.com/caobobo/p/5671773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!