![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
java的基础知识
VirtualBool
这个作者很懒,什么都没留下…
展开
-
动态多态——java
(Polymorphism)是面向对象编程(OOP)的一个核心概念,它允许一个接口被多个类实现,从而使得一个方法调用可以根据对象的实际类型表现出不同的行为。运行时多态(动态多态):通过方法重写(Method Overriding)和接口实现(Interface Implementation)实现。instanceof 用于检查对象是否是某个类或接口的实例,确保类型的安全性。动态绑定:在运行时根据对象的实际类型调用相应的方法。方法重写:子类重写父类的方法,提供不同的实现。向上转型:使用父类引用指向子类对象。原创 2024-07-25 23:02:55 · 173 阅读 · 0 评论 -
Object类——java
1.Object类是所有类的根类,提供了一些基础方法,如equalshashCodetoStringclonenotifywait等。2.可以根据需求在子类中重写这些方法,以实现自定义的行为。3.Object类的方法在实现多线程同步、对象比较和对象字符串表示等方面非常重要。原创 2024-07-25 14:21:07 · 519 阅读 · 0 评论 -
java之继承
一个类可以继承另一个类的属性和方法(不支持多继承),这个被继承的类称为父类(或超类、基类),继承它的类称为子类(或派生类)。private:私有成员,只有类本身可以访问,子类不能直接访问,但可以通过父类的内置函数间接修改。访问父类成员:子类可以使用 super 关键字来访问父类的成员(属性和方法)。方法重写:子类可以重写父类的方法,使用相同的方法名、参数和返回类型。default(无修饰符):包私有成员,同一个包内的类可以访问。protected:受保护成员,子类和同一个包内的类可以访问。原创 2024-07-25 14:03:00 · 137 阅读 · 0 评论 -
单例设计模式
以下是单例模式的常见实现方法,包括懒汉式、饿汉式和双重检查锁定。静态内部类在类加载时不会立即实例化,只有在调用 getInstance 方法时才会加载。饿汉式单例在类加载时就创建实例。枚举单例是实现单例模式的最佳方式之一,因为它不仅实现了线程安全,还防止了反序列化和反射攻击。通过在 getInstance 方法上添加同步,可以使懒汉式单例线程安全,但会降低性能。双重检查锁定结合了懒汉式和饿汉式的优点,通过减少同步的开销实现线程安全的懒加载。饿汉式单例:在类加载时即创建实例,线程安全但无延迟加载。原创 2024-07-24 22:00:44 · 242 阅读 · 0 评论 -
访问修饰限定符
default(不使用任何关键字,即不写修饰符):在同一包中可见,不使用任何修饰符。该访问级别仅适用于同一包内的类。private:在同一个类中可见。私有访问修饰符是最严格的访问级别,在同一类中的成员能够访问。protected:对同一包内的类和所有子类可见。在不同包中的子类也可以访问。public:对所有类可见。该访问级别仅适用于应用程序的外部接口。原创 2024-07-24 15:55:31 · 85 阅读 · 0 评论 -
java内部类
Java 中的内部类(inner class)是定义在另一个类内部的类。成员内部类是定义在另一个类的内部且不带 static 关键字的类。静态内部类不能直接访问外部类的非静态成员,但可以通过创建外部类实例来访问。匿名内部类是没有名字的内部类,通常在需要快速定义和使用一次性类时使用。局部内部类是在方法或代码块中定义的类。局部内部类:定义在方法或代码块内部,仅在其所在的方法或代码块中可见。成员内部类:定义在类内部,非静态,可以访问外部类的所有成员。匿名内部类:没有名字的内部类,通常用于快速实现接口或继承类。原创 2024-07-24 15:47:54 · 199 阅读 · 0 评论 -
java关键字static
静态方法(类方法)可以直接通过类名调用(建议直接用类名直接访问),而不需要创建类的实例。注意:静态方法中不可以使用this关键字,this代指的是调用该方法的实例对象,而静态方法是可以通过类名直接调用的。静态变量(类变量)是属于类的,而不是某个特定的实例。特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次。静态方法:可以直接通过类名调用,不能访问非静态成员。静态代码块:在类加载时执行一次性的初始化代码。作用:完成类的初始化,即对静态变量的初始化。静态变量:类的所有实例共享同一个变量。原创 2024-07-24 11:28:08 · 198 阅读 · 0 评论 -
String 和StringBuilder字符串操作快慢的举例比较
StringBuilder明显快于String。原创 2024-07-21 23:41:33 · 222 阅读 · 0 评论 -
StringBuilder, Stringbuffer,StringJoiner
StringBuilder:适用于单线程环境中需要频繁修改字符串的场景,具有高效的性能。StringBuffer:适用于多线程环境中需要频繁修改字符串的场景,线程安全但性能稍逊于 StringBuilder。StringJoiner:适用于需要构建带定界符的字符串序列的场景,提供了简洁的 API 来处理前缀、后缀和分隔符。原创 2024-07-21 23:11:26 · 276 阅读 · 0 评论 -
String
在 Java 中,String 是一种特殊的类,用于表示和操作字符串。String 对象在内存中的存储方式有其独特之处。,一旦创建,字符串内容。它主要用于表示不可变的字符序列。原创 2024-07-21 18:30:23 · 321 阅读 · 0 评论 -
java相对于c++的改进
Java 的自动内存管理、丰富的标准库、强类型系统和跨平台能力,使其成为企业级应用开发的首选语言。:Java 通过 JVM 实现了“一次编写,到处运行”,Java 字节码可以在任何安装了 JVM 的平台上运行。:Java 只支持类的单继承,但通过接口(interface)实现多继承的功能。:Java 程序运行在 JVM 上,JVM 屏蔽了底层操作系统和硬件的差异。:Java 消除了指针的概念,避免了直接内存操作带来的安全隐患。:Java 是强类型语言,编译时和运行时都有严格的类型检查。原创 2024-07-21 16:09:24 · 140 阅读 · 0 评论