龙岗网站 建设seo信科,网站的界面设计,海外网站加速免费,jsp网站开发心得目录 Java 与 C 的区别
面向对象和面向过程的区别
面向对象特性
Java的基本数据类型
深拷贝和浅拷贝
Java创建对象的几种方式
final, finally, finalize 的区别 Java 与 C 的区别
Java 是纯粹的面向对象语言#xff0c;所有的对象都继承自 java.lang.Object#xff0c…
目录 Java 与 C 的区别
面向对象和面向过程的区别
面向对象特性
Java的基本数据类型
深拷贝和浅拷贝
Java创建对象的几种方式
final, finally, finalize 的区别 Java 与 C 的区别
Java 是纯粹的面向对象语言所有的对象都继承自 java.lang.ObjectC 兼容 C 不但支持面向对象也支持面向过程。Java 通过虚拟机从而实现跨平台特性 C 依赖于特定的平台。Java 没有指针它的引用可以理解为安全指针而 C 具有和 C 一样的指针。Java 支持自动垃圾回收而 C 需要手动回收。Java 不支持多重继承只能通过实现多个接口来达到相同目的而 C 支持多重继承。
其中 C 依赖于特定的平台原因在于C语言的语法GCC是帮开发者实现了跨平台但是不同的操作系统和不同CPU提供的接口不一致所以需要C语言开发者去完成适配工作。
面向对象和面向过程的区别
面向对象和面向过程是一种软件开发思想。
面向过程就是分析出解决问题所需要的步骤然后用函数按这些步骤实现使用的时候依次调用就可以了。面向对象是把构成问题事务分解成各个对象分别设计这些对象然后将他们组装成有完整功能的系统。面向过程只用函数实现面向对象是用类实现各个功能模块。
面向对象特性
面向对象四大特性封装继承多态抽象。
1、封装就是将类的信息隐藏在类内部不允许外部程序直接访问而是通过该类的方法实现对隐藏信息的操作和访问。 良好的封装能够减少耦合。
2、继承是从已有的类中派生出新的类新的类继承父类的属性和行为并能扩展新的能力大大增加程序的重用性和易维护性。在Java中是单继承的也就是说一个子类只有一个父类。
3、多态是同一个行为具有多个不同表现形式的能力。在不修改程序代码的情况下改变程序运行时绑定的代码。实现多态的三要素继承、重写、父类引用指向子类对象。
静态多态性通过重载实现相同的方法有不同的參数列表可以根据参数的不同做出不同的处理。动态多态性在子类中重写父类的方法。运行期间判断所引用对象的实际类型根据其实际类型调用相应的方法。
4、抽象。把客观事物用代码抽象出来。
Java的基本数据类型 byte 8 char 16 short 16 int 32 float 32 long 64 double 64 boolean 只有两个值truefalse可以用1bit来存储
单位bit
在Java规范中没有明确指出boolean的大小。在《Java虚拟机规范》给出了单个boolean占4个字节和boolean数组1个字节的定义具体 还要看虚拟机实现是否按照规范来因此boolean占用1个字节或者4个字节都是有可能的。
深拷贝和浅拷贝
浅拷贝拷⻉对象和原始对象的引⽤类型引用同⼀个对象。
深拷贝拷贝对象和原始对象的引用类型引用不同的对象。
Java创建对象的几种方式
参考【Java基础】Java对象创建的几种方式 - 知乎
用new语句创建对象。使用反射使用Class.newInstance()创建对象。调用对象的clone()方法。运用反序列化手段调用java.io.ObjectInputStream对象的readObject()方法。使用Constructor类的newInstance()方法创建对象。
final, finally, finalize 的区别
final 用于修饰属性、方法和类, 分别表示属性不能被重新赋值方法不可被覆盖类不可被继承。finally 是异常处理语句结构的一部分一般以try-catch-finally出现finally代码块表示总是被执行。finalize 是Object类的一个方法该方法一般由垃圾回收器来调用当我们调用System.gc()方法的时候由垃圾回收器调用finalize()方法回收垃圾JVM并不保证此方法总被调用。