2026/4/13 21:24:11
网站建设
项目流程
常州网站建设公司市场,羽毛球赛事编排,兼职做ppt是哪个网站,腾讯云域名面试 Java 基础八股文十问十答第十三期 作者#xff1a;程序员小白条#xff0c;个人博客 相信看了本文后#xff0c;对你的面试是有一定帮助的#xff01;关注专栏后就能收到持续更新#xff01;
⭐点赞⭐收藏⭐不迷路#xff01;⭐
1#xff09;在一个静态方法内调用…面试 Java 基础八股文十问十答第十三期作者程序员小白条个人博客相信看了本文后对你的面试是有一定帮助的关注专栏后就能收到持续更新⭐点赞⭐收藏⭐不迷路⭐1在一个静态方法内调用一个非静态成员为什么是非法的1在一个静态方法内调用一个非静态成员是非法的因为静态方法属于类而不是实例它不依赖于类的实例化。非静态成员例如实例变量或非静态方法需要在对象实例化后才能被访问而静态方法在对象实例化之前就可以被调用。在静态方法内部没有this对象的引用因此无法直接访问非静态成员因为非静态成员的访问需要一个实例化的对象。2什么是方法的返回值返回值的作用是什么2方法的返回值是指方法执行后返回的数据。在很多编程语言中方法可以执行一些操作并产生一个结果这个结果就是返回值。返回值可以是任何数据类型包括整数、浮点数、字符串、对象等。返回值的作用是让调用者获取方法执行的结果然后可以根据需要进行后续的操作。3什么是内部类3内部类是定义在另一个类内部的类。在许多编程语言中都支持内部类包括Java。内部类可以访问其外部类的成员包括私有成员而外部类也可以访问内部类的成员。内部类的存在可以使得代码更加模块化将相关的类组织在一起同时可以访问彼此的私有成员提高了封装性。内部类分为静态内部类和非静态内部类静态内部类不持有外部类的引用而非静态内部类持有外部类的引用。4内部类的分类有哪些4内部类的分类包括成员内部类Member Inner Class定义在类的内部且不是static的内部类。成员内部类可以访问外部类的所有成员包括私有成员。静态内部类Static Inner Class定义在类的内部且使用static关键字修饰。静态内部类与外部类之间的关系并不密切它不持有外部类的引用。局部内部类Local Inner Class定义在方法或作用域内仅在定义它的块中可见。匿名内部类Anonymous Inner Class没有显式地命名的内部类通常用于创建一个只需使用一次的类的实例。5内部类有哪些应用场景5内部类的应用场景包括封装内部类可以访问外部类的私有成员从而提高了封装性。组织将相关的类组织在一起形成更清晰、模块化的代码结构。回调函数使用匿名内部类实现接口用于简化事件处理或回调函数的实现。实现接口内部类可以方便地实现接口并且可以直接访问外部类的成员。6局部内部类和匿名内部类访问局部变量的时候为什么变量必须 要加上final6局部内部类和匿名内部类访问局部变量的时候变量必须加上final关键字是因为在内部类中如果局部变量没有被标记为final其生命周期可能会超过方法的生命周期导致在方法执行完毕后仍然被内部类所引用。通过将局部变量标记为final编译器可以确保这样的情况不会发生从而使内部类能够安全地访问这些变量。在Java 8及以后的版本中虽然可以省略final关键字但实际上变量仍然是不可变的。这是因为在编译时Java会隐式地为内部类创建一个拷贝并将原始变量标记为final。7构造器constructor是否可被重写override7构造器constructor不能被重写override。子类可以有自己的构造器但不能覆盖override父类的构造器。当创建子类的对象时会先调用父类的构造器然后再调用子类的构造器。8重载Overload和重写Override的区别。重载的方法能否根据返回类型进行区分重载Overload在同一个类中可以定义多个方法它们具有相同的名称但不同的参数列表参数类型、个数、顺序。编译器根据方法的参数列表来区分不同的重载方法。重写Override在子类中重新定义父类中已经存在的方法方法名、参数列表以及返回类型必须相同。重写用于实现多态性子类通过重写可以提供自己的实现但方法签名必须与父类相同。关于返回类型重载的方法不能仅通过返回类型的不同来进行区分。两个方法如果只有返回类型不同编译器会认为它们是相同的方法从而导致编译错误。9 和 equals 的区别是什么9 和 equals 的区别相等运算符在比较基本数据类型时比较它们的值是否相等在比较引用类型时比较它们的引用地址是否相等。equals 方法是Object类中的方法用于比较两个对象是否在逻辑上相等。默认情况下equals方法是比较对象的引用地址但可以根据需要在类中重写equals方法来定义自定义的相等比较规则。10hashCode 与 equals (重要)10hashCode与equalshashCode 方法返回对象的哈希码值是一个int类型的整数。哈希码用于快速定位对象在哈希表中的位置。在Java中如果两个对象通过equals方法相等那么它们的hashCode值必须相等但反之则不成立。equals 方法用于比较两个对象是否在逻辑上相等。在重写equals方法时通常也需要重写hashCode方法以确保相等的对象具有相等的哈希码。前后端项目 Gitee Github 累计 3000 Star10W浏览量⭐点赞⭐收藏⭐不迷路⭐智能 AI 旅游推荐平台https://github.com/luoye6/vue3_tourism_frontend智能 AI 校园二手交易平台https://github.com/luoye6/vue3_trade_frontendGPT 智能图书馆https://github.com/luoye6/Vue_BookManageSystem