面向对象和面向过程的区别:
面向过程:更加关注整个程序的实现流程
面向对象:更加关注整个程序中有哪些类,每个类中有哪些属性,有哪些行为,它将整个功能划分为许多小功能,分散到不同的类中,使用时,仅需要命令相应的类完成相应的事情
面向对象的优势:
更高的容错率
更易阅读的代码
更易扩展
面向对象的劣势:
有一定的学习成本
执行效率相对低
面向对象的设计原则:高内聚,底耦合
高内聚:一个类要负责所有跟他相关的事情
底耦合:不同功能的类之间,尽量减少关联
为了满足高内聚,使用单一原则(一个类仅拥有一个职责)
为了满足底耦合,使用开闭原则(功能增加后,对修改关闭,对增加开放 )
1、面向对象的特征:传统上有封装、继承、多态。而抽象是现在有一部分学者是认为有的,但也有一部分人是不同意的(java只是面向对象语言中的一种,面向对象的语言有多种)
2、java是如何做到跨平台的:源程序 .java文件–>java编译器–>字节码文件.class文件(二进制文件)–>类装载器–>字节码校验器–>解释器–>操作系统平台(从类装载器到操作平台是JVM上执行的,这部分是加载)而java能够跨平台是因为有解释器的存在,也就是说解释器是java能够跨平台最根本的原因,java是编译加解释的语言,编译是要产生一个新文件,解释是相当于翻译官,直接将字节码文件解释,没有新的文件产生。java的解释器是针对不同的平台是不同版本的解释器,java的解释器是将字节码文件解释为该类操作平台所能够识别的二进制文件。
3、java的执行过程:程序员书写源文件 .java文件,在通过javac命令操作编译器,将源文件编译成字节码文件,在通过java命令开始运行,运行过程中首先通过类加载器,将字节码文件加载到内存中,然后通过字节码校验器进行校验,校验无误,通过解释器解释给操作系统执行。字节码文件都是一样的,但是在不同的操作平台中是由解释器解释的
4、JDK和JRE的区别:JRE是运行环境,JDK是开发工具包,JDK包含JRE,比JRE多了编译器,开发doc文档,调试器等。开发人员需要用到JDK,而用户安装运用的时候仅需要JRE就行了,能够运行java文件就可以了。
5、java数据类型有哪些:数据类型的作用是以什么方式表达数据和划多大的空间来存储数据。数据类型分为基本数据类型(四类八种:整型、浮点型、字符型、布尔)和引用数据类型(类类型、数组类型、接口类型)
6、如何定义常量?为什么要定义常量:定义常量使用关键字final,常量分为两种,一种叫做字面常量,字面常量是直接在代码中书写的量,一种叫做符号常量,就是用final修饰的。定义常量的原因是把业务含义带入到常量值当中和便于修改(常量命名全部大写,如果是多个单词则用下划线连接)
7、&&和&的区别:&&是逻辑运算符,表示并且的含义,只有两边都为真,结果才会真,会短路,而&是位运算符,也可以用来做逻辑判断,不会短路。
8、JAVA文件名必须和类名保持一致吗?class文件呢?:
9、什么是封装:封装是类的组装—>将属性和方法写到花括号里面 (id属性,唯一性,非空性称为唯一标识)和信息隐藏(信息隐藏最常用访问修饰符和方法的实现–>方法的实现对于调用者来说就是信息的隐藏)
10、equals和==的区别:==是判断两个对象的引用是否相等,判断是否为同一对象,而equals是判断两个对象在业务上是否相等
java基础知识
最新推荐文章于 2024-09-05 10:39:00 发布