自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 什么是内部类,它有什么用你知道吗?

根据其定义位置,我们可以将内部类分为几种类型:如果定义在类成员变量的区域,它被称为成员内部类;此外,还可以通过使用 static 关键字来定义静态内部类,或者创建不具名的匿名内部类。在实际应用中,非静态内部类通常用于那些与外部类紧密相关且专用于该外部类的场合,这样可以方便地访问外部类的成员变量和方法。而静态内部类则更像是一个独立的顶级类,它可以独立于外部类存在,主要用于组织代码和命名空间的划分。值得注意的是,尽管内部类在语法上看起来像是嵌套在外部类中,但在编译后,它们会被转换成独立的顶级类。

2024-06-22 00:26:59 550

原创 重载和重写的区别?

则是指子类对父类中具有相同名称和参数列表的方法进行重新实现,即方法签名保持一致。在重写时,子类抛出的异常应该是父类异常的相同类型或其子类型,同时,子类方法的访问权限至少应与父类方法的访问权限相同。是指具有相同名称的方法,它们可以通过不同的参数类型、顺序或数量来区分。重要的是要注意,重载与方法的返回值无关,因为方法的签名是由其名称和参数列表定义的,并不包括返回值。简而言之,子类在重写父类方法时,应保持对父类的尊重,不应降低方法的访问级别,同时确保异常处理的一致性。

2024-06-22 00:18:27 251

原创 Java为什么不支持多继承?

是不是看起来很像一个菱形,BC继承了A,然后D继承了BC,假设此时要调用D内定义在A的方法,因为B和C都有不同的实现,主要是因为多继承会产生菱形继承(也叫钻石继承)问题,,不知道应该调用哪个了。,因此在不支持多继承。

2024-06-16 20:10:14 276

原创 接口和抽象类有什么区别?

在Java中,一个类只能继承一个抽象类,这限制了继承的灵活性,但有助于代码复用。当设计中存在一种"is-a"关系,即子类是父类的一种特殊形式时,使用抽象类是合适的。是一种对行为的抽象,可以看作是一种协议。在Java编程语言中,接口定义了一组方法规范,但不允许包含实现细节或成员变量,它允许一个类实现多个接口,这体现了接口的灵活性。在设计时,如果考虑到组件之间需要有明确的行为约定,可以先行定义接口,随后实现这些接口。在实际应用中,根据对象之间的关系选择合适的设计模式,可以提高代码的可维护性和可扩展性。

2024-06-16 02:20:27 541

原创 你知道Java是按值传递还是按引用传递吗?

局部变量和方法参数都是在栈上分配的,无论是基本类型还是引用类型,它们在栈上所占的空间大小都是固定的:基本类型和引用类型通常占用4个字节,而long和double类型则占用8个字节。引用类型的变量存储的是对象在堆中的地址,这意味着在方法调用时,传递的是这个地址值,而不是对象本身。因此,即使我们谈论的是引用类型,实际上传递的仍然是值——即对象的内存地址。基本类型直接传递其值,而引用类型则是传递指向对象的地址值。,这一点对于基本数据类型和引用数据类型都是适用的,尽管对于引用类型,一些初学者可能会感到困惑。

2024-06-14 22:45:02 387

原创 你觉得Java好在哪里?

不同平台执行的机器码各不相同,但Java通过引入虚拟机(JVM)作为中间层,实现了“一次编写,多处运行”的理念。此外,为了提高程序启动速度,Java还提供了提前编译(AOT)技术,将字节码直接转换为机器码,从而在程序重启后迅速达到最佳性能。其次,Java的自动垃圾回收功能大大减轻了程序员的负担。在内存资源相对充裕的今天,将内存管理任务交给垃圾收集器(GC)来处理,不仅提高了开发效率,也降低了编程的复杂性。它提供了丰富的第三方库、详尽的在线资源、企业级开发框架以及各种中间件,几乎涵盖了开发者所需的所有资源。

2024-06-14 21:59:31 373 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除