爱站长工具综合查询攸县网页设计
2026/1/29 15:48:13 网站建设 项目流程
爱站长工具综合查询,攸县网页设计,wordpress主题自适应手机端,佛山百度关键词seo外包文章目录 JAVA跨平台是如何实现的面向对象三大特性重写和重载的区别讲讲JAVA中不同访问权限修饰符区别为什么要设计不同访问权限修饰符String、StringBuffer和StringBuilder区别HashCode、 和 equals的区别 JAVA跨平台是如何实现的 java中经典的Write Once, Run Anywhere是基于…文章目录JAVA跨平台是如何实现的面向对象三大特性重写和重载的区别讲讲JAVA中不同访问权限修饰符区别为什么要设计不同访问权限修饰符String、StringBuffer和StringBuilder区别HashCode、 和 equals的区别JAVA跨平台是如何实现的java中经典的Write Once, Run Anywhere是基于JVM实现Java 源码编译成与平台无关的字节码由不同平台的 JVM 负责解释或编译执行。核心是通过加入JVM中间层屏蔽了操作系统和硬件的差异。基于JVM带来的负面影响性能损耗多了一层 虚拟机字节码 → 机器码需要转换启动阶段存在解释和 JIT 成本。资源占用更高JVM 自身需要内存对小设备不友好。对底层系统能力的“隔离”JVM 封装了操作系统Java 标准 API 不暴露全部系统能力例如一些CPU专用指令集、高性能I/O接口。面向对象三大特性封装将数据和对数据的操作封装起来对象状态属性由这个对象自己的行为方法来读取和改变隐藏细节部分。java种常见会把属性设置为private,通过setter和getter修改和获取属性。 目的控制访问权限降低耦合提高安全性和可维护性继承子类复用父类的代码并在此基础上扩展或修改行为。目的是为了代码复用多态同一个接口不同对象调用时表现出不同行为。调用方法时运行期决定调用哪个子类的方法。目的:提高拓展性。重写和重载的区别先用代码简单介绍什么是重写什么是重载// 重载 class MathUtil { int add(int a, int b) { return a b; } double add(double a, double b) { return a b; } int add(int a, int b, int c) { return a b c; } }重载发生在同一个类中重载方法的方法名相同参数列表、返回类型、权限修饰符可以不同。//重写 class Father { int handle(int a, int b) { return a b; } } class Son extends Father { int handle(int a, int b) { return a * b; } } Father example1 new Son() Father example2 new Father() example1.handle(1, 2) example2.handle(1, 2)重写发生在子类中方法名、参数列表和返回类型都相同权限修饰符要大于父类方法声明异常要小于父类。详细对比点对比点重载重写发生位置同一个类中发生在父子类之间方法名必须相同必须相同参数列表必须不同(类型/个数/顺序)不同必须完全相同返回值类型可以不同可以不同但子类返回的返回值类型必须是父类返回值类型的子类访问修饰符无要求不能比父类更严格异常无要求子类抛出的异常必须是父类相同或者为它子类讲讲JAVA中不同访问权限修饰符区别JAVA中分为四种访问级别权限符,访问范围从大到小为public、protected、default、private。private特点只能在当前类中访问子类也无法访问。所以private的方法是不能被重写的。default特点默认不指定访问权限默认就是这个。同一个包内可访问不同包完全不可见protected特点同包可访问。不同包只有子类能访问。public 特点任何地方都可以访问类、方法、成员变量都可用为什么要设计不同访问权限修饰符Java 设计不同级别的访问修饰符是为了通过权限分级实现封装和解耦。不同级别分别满足类内部、模块内部、继承关系以及对外 API 的访问需求在保证安全性的同时提高代码的可维护性和可扩展性。String、StringBuffer和StringBuilder区别String是典型的Immutable 类被声明成为 final class所有属性也都是 final 的。也由于它的不可变性类似拼接、裁剪字符串等动作都会产生新的 String 对象。不可变StringBuffer是为解决String提到拼接产生太多中间对象的问题而提供的一个类我们可以用 append 或者 add 方法把字符串添加到已有序列的末尾或者指定位置。StringBuffer 本质是一个线程安全的可修改字符序列它保证了线程安全也随之带来了额外的性能开销。可变线程安全。StringBuilder:Java 1.5 中新增的在能力上和 StringBuffer 没有本质区别但是它去掉了线程安全的部分有效减小了开销是绝大部分情况下进行字符串拼接的首选.可变线程不安全。HashCode、 和 equals的区别 的特点对于基本数据类型值相同返回true.对于引用类型如果引用类型的两个对象引用地址相同返回true。常用于判断是否为同一对象。inta10;intb10;intc11;ab;// trueac;// falseUseru1newUser();Useru2newUser();Useru3u1;u1u2;// falseu1u3;//trueequals()特点定义在Object类中默认实现就是等价于自定义类一般都会重写hashcode()和equals()方法重写equals逻辑一般是默认类个属性值相同就返回true。常适用于判断对象业务等价hashcode()特点定义在Object类中返回一个int值。一般用于快速定位对象在哈希表中的位置。常适用于map中使用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询