当前位置: 首页 > news >正文

十渡网站建设网页转微信小程序

十渡网站建设,网页转微信小程序,制作ppt模板的素材图片,建设银行深圳天健世纪支行网站Java基础-知识点1 Java与C、PythonJava #xff1a;C#xff1a;Python: java 与 C的异同相似之处#xff1a;区别#xff1a; Java8的新特性Lambda 表达式#xff1a;Stream API#xff1a;接口的默认方法和静态方法#xff1a; 基本数据类型包装类自动装箱与自动拆箱自… Java基础-知识点1 Java与C、PythonJava CPython: java 与 C的异同相似之处区别 Java8的新特性Lambda 表达式Stream API接口的默认方法和静态方法 基本数据类型包装类自动装箱与自动拆箱自动装箱自动拆箱 基本数据类型和类的区别缓存池字符串缓存池Integer缓存对象池 instanceof 关键字的作用重载与重写的区别重写(Overriding)重载(Overloading) 抽象类和接口抽象类(Abstract Class)接口(Interface)共同点与区别 Java与C、Python Java 特点 面向对象Java是一种严格面向对象的语言支持类、对象、继承、封装和多态等特性。跨平台通过JVMJava程序可以在不同的平台运行。内存管理Java通过垃圾回收器实现自动内存管理。安全性 Java 具有严格的安全性机制如类加载器、安全管理器等 使用场景 Java 主要用于企业级应用开发、大型系统和跨平台应用程序如网站后端服务、企业软件等。 C 特点 结构化C 是一种结构化编程语言主要通过函数组织代码。速度高C 编译后的代码执行速度快适合对性能要求较高的应用。系统级编程C 语言适用于系统级编程如操作系统、驱动程序等。 使用场景 C 主要用于系统编程、嵌入式开发、操作系统和硬件驱动程序等领域。 Python: 特点 简洁易学Python 的语法简洁清晰易于学习和使用适合初学者入门。高级特性Python 支持面向对象、函数式编程、动态类型等高级特性。多范式编程语言支持面向对象、函数式编程、命令式编程等多种编程范式灵活性较高。 使用场景 Python 适合用于数据分析、科学计算、Web 开发、自动化脚本等领域以及初学者学习编程的入门语言。 java 与 C的异同 Java 和 C 是两种流行的编程语言它们有一些相似之处也有一些明显的区别 相似之处 面向对象 Java 和 C 都是面向对象的编程语言支持类、对象、继承、封装和多态等面向对象的特性。编译型语言 Java 和 C 都是编译型语言需要先编译成中间代码或机器码然后才能执行。标准库和第三方库 Java 和 C 都有丰富的标准库和第三方库可用于各种开发任务。 区别 平台依赖性 Java 是一种平台无关的语言通过 Java 虚拟机JVM实现跨平台性同样的 Java 程序可以在不同的操作系统上运行。C 编译后的代码通常是与特定平台相关的需要针对不同平台进行编译。 内存管理 Java 使用自动内存管理垃圾回收器程序员不需要手动管理内存分配和释放。C 需要程序员手动管理内存包括分配和释放内存这可能导致内存泄漏或越界访问等问题。 异常处理 Java 使用 try-catch-finally 结构进行异常处理要求程序员必须显式处理可能出现的异常。C 也支持异常处理但更加灵活程序员可以选择是否处理异常。 类的继承 Java 的类是单继承的一个类只能继承一个直接父类。C 支持多重继承即一个类可以直接继承多个父类。 Java8的新特性 Java 8 引入了许多重要的新特性其中包括 Lambda 表达式、Stream API、接口的默认方法和静态方法、函数式接口、Optional 类、日期时间 API 等。 Lambda 表达式 Lambda 表达式是一种简洁而强大的语法用于创建匿名函数可以在不创建单独方法的情况下传递代码块。 ListString names Arrays.asList(Alice, Bob, Charlie); names.forEach(name - System.out.println(name)); Stream API Stream API 提供了一种高效且易于使用的方式来处理集合数据。它支持函数式编程风格的操作如过滤、映射、排序、聚合等。 ListString names Arrays.asList(Alice, Bob, Charlie); long count names.stream().filter(name - name.startsWith(A)).count(); System.out.println(count); // 输出1 接口的默认方法和静态方法 Java 8 允许接口中定义默认方法和静态方法。默认方法可以在接口中提供默认实现静态方法则可以直接通过接口名调用。 public interface MyInterface {default void defaultMethod() {System.out.println(Default method);}static void staticMethod() {System.out.println(Static method);} }class MyClass implements MyInterface {// 实现类可以直接调用默认方法和静态方法public void someMethod() {defaultMethod();MyInterface.staticMethod();} } 基本数据类型 数据类型大小(位)范围默认值byte8-128 - 1270short16-32768 - 327670int32-231 - ( 231 -1)0long64-263 - (263 - 1)0Lfloat32约 ±3.40282347E38F0.0fdouble64约 ±1.79769313486231570E3080.0dchar160 到 65,535‘\u0000’ 到 ‘\uffff’‘\u0000’boolean-true 或 falsefalse 包装类 包装类是 Java 中的一组类用于将基本数据类型包装成对象。 在 Java 中基本数据类型如 int、float、boolean 等是直接存储在栈内存中的而对象则存储在堆内存中。为了让基本数据类型也能像对象一样参与面向对象的操作Java 提供了对应的包装类。   以下是 Java 中常用的包装类及其对应的基本数据类型 基本数据类型包装类示例byteByteByte b 10;shortShortShort s 100;intIntegerInteger i 1000;longLongLong l 100000L;floatFloatFloat f 3.14f;doubleDoubleDouble d 3.14159;charCharacterCharacter c ‘a’;booleanBooleanBoolean bool true; 这些包装类提供了丰富的方法来操作对应的基本数据类型例如转换成字符串、比较大小、获取最大最小值等。同时它们还支持自动装箱Autoboxing和自动拆箱Unboxing使得基本数据类型和其对应的包装类之间可以自动转换方便了编程过程。 自动装箱与自动拆箱 自动装箱Autoboxing和自动拆箱Unboxing是 Java 中的两种特性用于方便地在基本数据类型和对应的包装类之间进行转换而不需要手动进行转换操作。 自动装箱 自动装箱指的是将基本数据类型自动转换为对应的包装类对象的过程。 当将基本数据类型赋值给对应的包装类对象时Java 编译器会自动执行装箱操作将基本数据类型包装成对象。 示例 int num 10; Integer integer num; // 自动装箱 在这个示例中将整数 10 赋值给 Integer 类型的对象 integer编译器会自动将 int 类型的值装箱成 Integer 对象。 自动拆箱 自动拆箱指的是将包装类对象自动转换为对应的基本数据类型的过程。 当将包装类对象赋值给基本数据类型时Java 编译器会自动执行拆箱操作将包装类对象中的值提取出来赋给基本数据类型变量。 Integer integer 100; int num integer; // 自动拆箱 在这个示例中将 Integer 类型的对象 integer 赋值给 int 类型的变量 num编译器会自动将 Integer 对象拆箱提取其中的值赋给 int 变量。 基本数据类型和类的区别 基本数据类型Primitive Data Types和类Class是 Java 中的两种不同的概念它们有一些重要的区别 存储位置 基本数据类型 基本数据类型的值存储在栈内存中它们是直接存储在内存中的简单数据不需要通过 new 关键字创建对象。类 类是对象的模板它的实例存储在堆内存中。通过 new 关键字创建的对象是在堆内存中分配空间并返回对象的引用。 值传递与引用传递 基本数据类型 基本数据类型的传递是按值传递的即传递的是值的副本不影响原始值。类 类的传递是按引用传递的传递的是对象的引用地址对对象的修改会影响原始对象。 默认值 基本数据类型有具体的默认值。类类的默认值是null即对象引用没有指向任何对象时的值。 操作方法 基本数据类型 基本数据类型没有方法和属性只能进行基本的算术运算和比较操作。类类可以包含方法和属性可以进行更复杂的操作如调用方法、访问属性等。 缓存池 Java 中的缓存池是指一种用于存储和重复利用对象,降低磁盘访问的机制旨在提高程序性能和资源利用率。常见的缓存池包括字符串常量池、Integer缓存、对象池等。 字符串缓存池 字符串缓存池是 Java 中用于存储字符串常量的区域它位于方法区JVM 内存区域的一部分用于存储字符串常量和通过常量表达式生成的字符串。 当我们创建一个字符串常量时如果该字符串已经存在于常量池中则不会重复创建而是直接引用常量池中的对象以节省内存。 //示例 String str1 Hello; String str2 Hello; System.out.println(str1 str2); // 输出true Integer缓存 Java 中的 Integer 缓存是指在一定范围内默认为 -128 到 127Integer 类会对这些整数值进行缓存使得同一数值的 Integer 对象在这个范围内可以被重用而不是每次都创建新的对象。 这种缓存机制是为了节省内存和提高性能而设计的。因为在实际编程中一些整数值如小整数被频繁使用通过缓存可以减少对象的创建和销毁同时提高程序的执行效率。 //示例 Integer a 100; Integer b 100; System.out.println(a b); // 输出 true使用了缓存对象Integer c 200; Integer d 200; System.out.println(c d); // 输出 false超过了缓存范围会新创建对象对象池 对象池是一种用于存储和重复利用对象的机制可以减少对象的创建和销毁次数提高系统的性能和资源利用率。常见的对象池包括连接池如数据库连接池、线程池、对象池如线程安全的对象池等。 示例简化的对象池 public class ObjectPoolT {private ListT pool;public ObjectPool() {pool new ArrayList();}public void addObject(T obj) {pool.add(obj);}public T getObject() {if (!pool.isEmpty()) {return pool.remove(0);}// 如果池为空则创建新对象return createObject();}private T createObject() {// 创建新对象的逻辑return null;} } 通过合理使用缓存池可以减少对象的创建和销毁提高系统的性能和资源利用率特别是在需要频繁使用相同对象的场景下缓存池可以发挥重要作用。 instanceof 关键字的作用 instanceof 是 Java 中的一个关键字用于检查一个对象是否是某个类或其子类的实例。它的作用是在运行时进行类型检查以确定对象是否属于特定类或其子类从而进行相应的类型转换或操作。 //示例 class Animal {} class Dog extends Animal {}public class InstanceOfExample {public static void main(String[] args) {Animal animal new Dog();if (animal instanceof Dog) {System.out.println(animal 是 Dog 类的实例);} else {System.out.println(animal 不是 Dog 类的实例);}} } //在上面的示例中animal 是 Dog 类的实例 //因此 animal instanceof Dog 返回 true //输出结果为 animal 是 Dog 类的实例。instanceof 关键字在实际编程中常用于进行类型判断特别是在多态的情况下可以在运行时动态确定对象的具体类型以便进行相应的处理例如类型转换、调用特定方法等。需要注意的是instanceof 也适用于判断对象是否实现了某个接口或是数组的情况。 重载与重写的区别 重写(Overriding) 重写指的是子类重新定义覆盖了父类中具有相同名称和参数列表的方法通过 Override 注解来明确标识。重写的方法必须具有相同的方法签名方法名、参数列表和返回类型。 重写的要求 : 方法名、参数列表相同:子类方法的访问权限 父类子类方法的返回类型 父类的返回类型 必须 是 父类方法的返回类型或其子类型子类 抛出的异常 父类如果父类是private修饰的方法子类不能重写。使用 Override 注解可以让编译器帮忙检查是否满足上面的两个限制条件。 //示例 class Animal {public void sound() {System.out.println(Animal makes a sound);} }class Dog extends Animal {Overridepublic void sound() {System.out.println(Dog barks);} } //Dog 类重写了 Animal 类的 sound 方法 //在调用 sound 方法时会执行 Dog 类中的方法 //而不是 Animal 类中的方法。重载(Overloading) 重载指的是在同一个类中可以定义多个方法它们具有相同的名称但参数列表不同参数类型不同、参数个数不同甚至是参数顺序不同)。同时重载对返回类型没有要求可以相同也可以不同但不能通过返回类型是否相同来判断重载。 重载可以提高代码的灵活性和可读性允许在同一个类中使用相同的方法名来实现不同的功能根据不同的参数列表调用不同的方法。 public class Calculator {public int add(int a, int b) {return a b;}public double add(double a, double b) {return a b;}public int add(int a, int b, int c) {return a b c;} }抽象类和接口 抽象类和接口是 Java 中两种用于实现多态性和抽象化的机制。 抽象类(Abstract Class) 抽象类是用 abstract 关键字声明的类可以包含抽象方法没有具体实现的方法和普通方法。抽象类不能直接实例化需要通过子类来实现并提供具体的实现。 抽象类的特点 包含抽象方法 抽象类可以包含抽象方法即没有具体实现的方法。抽象方法使用 abstract 关键字声明没有方法体只有方法的声明。子类必须实现抽象类中的所有抽象方法。可以包含普通方法 抽象类不仅可以包含抽象方法还可以包含普通的方法即有具体实现的方法。不能直接实例化 抽象类不能被直接实例化即不能使用 new 关键字来创建抽象类的对象。但是可以通过子类继承抽象类并实现抽象方法来创建对象。 -可以包含成员变量 抽象类可以包含成员变量这些成员变量可以被子类继承和访问。支持构造方法 抽象类可以有构造方法用于初始化对象。子类在实例化时会调用抽象类的构造方法来完成对象的初始化。可以被继承 其他类可以继承抽象类并实现其中的抽象方法从而实现对抽象类的扩展和特化。不能与 final 关键字一起使用 抽象类不能与 final 关键字一起使用因为 final 关键字表示类不可继承而抽象类需要被子类继承并实现抽象方法。 //示例 public abstract class Animal {public abstract void makeSound(); // 抽象方法public void eat() {System.out.println(Animal is eating);} }public class Dog extends Animal {Overridepublic void makeSound() {System.out.println(Dog barks);} }接口(Interface) 接口是一种抽象类型可以包含抽象方法、常量和默认方法Java 8。接口中的方法默认是抽象的不需要使用 abstract 关键字声明使用 interface 关键字定义接口。类通过关键字 implements 实现接口并实现接口中定义的所有抽象方法。 public interface Animal {//定义接口void makeSound(); // 抽象方法default void eat() {System.out.println(Animal is eating);} }public class Dog implements Animal {//实现接口Overridepublic void makeSound() {System.out.println(Dog barks);} } 共同点与区别 特点接口抽象类抽象性完全抽象只能包含抽象方法和常量可以包含抽象方法和具体方法构造方法不能包含构造方法可以包含构造方法成员变量只能包含常量可以包含常量和成员变量继承与实现只能被其他类实现可以被其他类继承和实现多继承支持多继承不支持多继承默认方法支持默认方法Java 8不支持默认方法静态方法支持静态方法Java 8不支持静态方法设计目的定义行为规范强调行为特征表示类的层次结构可以包含具体实现实例化不能被实例化不能被实例化
http://www.w-s-a.com/news/575923/

相关文章:

  • 网站公司提供程序免费的网页入口
  • jsp网站开发实例教学房产网站怎么做400电话
  • 网络营销方式及流程广州seo工作
  • 专业商城网站制作免费网页设计成品
  • 韩国优秀设计网站找做网站找那个平台做
  • 贵州省清镇市建设学校网站国家企业信用信息公示系统官网河北
  • 游戏界面设计网站网站建设问一问公司
  • 织梦网站模板如何安装教程视频国外哪些网站可以注册域名
  • 用群晖做网站网站中文名称注册
  • 做一个企业网站需要哪些技术app开发公司名字
  • 网站建设有技术的公司图片在线设计平台
  • 建公司网站的详细步骤关于进一步加强网站建设
  • 丰宁县有做网站的吗?维护一个网站一年多少钱
  • 杭州网站设计渠道wordpress购物主题
  • 山东政务网站建设文字logo免费设计在线生成
  • 韩雪个人网站唐山网络运营推广
  • 查建设工程业绩在哪个网站网站建设优化服务如何
  • 江苏省建设工程安全监督网站商洛网站制作
  • 海淀网站建设wzjs51网页设计页面配色分析
  • 网站的备案流程图垦利网站制作
  • 行业用品网站怎么建设外链买东西的网站都有哪些
  • 淘宝做促销的网站集团门户网站建设策划
  • 网站排行榜查询怎样把个人介绍放到百度
  • vps 网站上传河北省招投标信息网
  • 武进网站建设咨询网站定制公司选哪家
  • 郑州市建设投资集团公司网站深圳企业网站建设推荐公司
  • 天津个人网站备案查询dz网站恢复数据库
  • 关于网站建设的期刊文献宣传片文案
  • 物业网站模板下载wordpress+菜单大小
  • 网站建设案例教程视频空间刷赞网站推广