0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

java内部类可以用public修饰吗

科技绿洲 来源:网络整理 作者:网络整理 2023-11-21 10:23 次阅读

Java的内部类是指一个类被定义在另一个类的内部。根据定义的位置和访问权限的不同,内部类可以分为四种:成员内部类、静态内部类、方法内部类和匿名内部类。

内部类的访问权限

  • 成员内部类和静态内部类可以使用任意访问权限修饰符,包括public、protected、默认和private。
  • 方法内部类只能使用默认访问权限,即不加任何访问修饰符。

使用public修饰的内部类
内部类使用public修饰时,可以被外部类以及其他外部类所访问。它具有最高的访问权限,可以被其他包中的类所访问。

使用public修饰的内部类示例:

public class OuterClass {
public class InnerClass {
// InnerClass的内部代码
}
}

在其他类中访问public修饰的内部类:

public class OtherClass {
public static void main(String[] args) {
OuterClass.InnerClass innerClass = new OuterClass().new InnerClass();
// 使用innerClass进行操作
}
}

在上述示例中,InnerClass被public修饰,可以在OtherClass中被访问。使用new关键字创建OuterClass的实例,然后通过实例调用new InnerClass()创建InnerClass的实例。通过访问内部类的实例,可以使用其定义的方法和访问其属性。

当然,在实际开发中,一般并不会使用public修饰内部类。因为内部类的主要作用是为了实现某些特定的功能或者限制其在外部的使用。而通过使用public修饰内部类,则会导致内部类的实例对象可以在外部类外被访问,违背了内部类的设计初衷。

另外,需要注意的是在其他包中访问public修饰的内部类时,由于内部类不能独立存在,所以需要通过外部类的实例来创建内部类的实例。

综上所述,Java内部类可以使用public修饰,但是在实际开发中一般不建议这么做,因为这样会破坏内部类的封装性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102994
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66767
收藏 人收藏

    评论

    相关推荐

    java rules下载/java规范中文版

    2.9.2 非public的成员类2.9.3 局部类和匿名类2.9.4 嵌套的接口2.10 选择使用不同类型的类2.10.1 从VectorEnumerator到匿名类2.11 容器和内部类层次的基本原理
    发表于 06-23 18:16

    原生servlet实现的接口大家看下控制台输出结果是什么

    的 run 函数换一个名字,但这种办法对于一个开发到中途的应用来说是不可取的。那么就可以用这个例子中的办法部类的类名加上 this 引用来说明要调用的是外部类的方法 run。例3
    发表于 10-21 14:38

    接口、内部类Java API基础

    理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口、一个类实现多个接口的声明和使用方法。理解内嵌类型的概念,掌握声明内部类的方法。熟悉Java语言包和实用包中的常用类。
    发表于 11-23 11:52 0次下载

    java内部类分析详解

    可以将一个类的定义放在另一个类的定义内部,这就是内部类内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类
    发表于 09-27 14:59 0次下载

    java内部类怎么写

    一。内部类基础 二。深入理解内部类 三。内部类的使用场景和好处 四。常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正。 一。内部
    发表于 09-27 16:15 0次下载
    <b class='flag-5'>java</b><b class='flag-5'>内部类</b>怎么写

    java可以用作那些领域?

    1、学习Java可以做网站 Java可以用来编写网站,现在很多大型网站都用Jsp写的,JSP全名Java Server Pages
    的头像 发表于 02-15 14:07 2595次阅读

    Java内部类持有外部类导致内存泄露的原因以及其解决方案

    简介 为什么要持有外部类 实例:持有外部类 实例:不持有外部类 实例:内存泄露 不会内存泄露的方案 简介 「说明」 本文介绍 Java 内部类
    的头像 发表于 10-08 16:32 759次阅读

    Java四种访问修饰符及访问范围

    public修饰的类、类属变量及方法,包内及包外的任何类均可以访问;任何情况下都可以访问;如果一个类、类属变量及方法没有用任何修饰符,则其访
    的头像 发表于 02-28 14:35 5592次阅读

    Java内部类使用不当导致的内存泄露问题及解决办法

    非静态内部类会持有外部类,如果有地方引用了这个非静态内部类,会导致外部类也被引用,垃圾回收时无法回收这个外部类(即使外
    的头像 发表于 05-18 16:09 889次阅读
    <b class='flag-5'>Java</b><b class='flag-5'>内部类</b>使用不当导致的内存泄露问题及解决办法

    static定义内部类

    是一个独立的程序类了。需要注意,static定义的不管是类还是方法只能够访问static成员, 所以static定义的内部类只能够访问外部内中的static属性和方法 ; public class
    的头像 发表于 10-10 16:08 304次阅读

    如何在普通类中使用内部结构

    在普通类中使用内部结构 不多说,先上个代码 Outer类里面有个内部类Inner public class Outer { private String msg = "哈哈" ; //只能在类
    的头像 发表于 10-10 16:26 234次阅读

    Java中对static关键词的介绍

    static 是Java的一个关键字,可以用修饰成员变量、修饰成员方法、构造静态代码块、实现静态导包以及实现静态内部类,下面我们来分别介绍
    的头像 发表于 10-11 15:26 257次阅读
    <b class='flag-5'>Java</b>中对static关键词的介绍

    如何用Java代码调用

    CloneNotSupportedException ; 你敢说你没用过这些方法?如果你用过,那你就是一定用过不是Java语言编写的方法。 答案就是【native】关键词,用此关键词修饰的方法,多数情况就不是用Java实现的。
    的头像 发表于 10-11 15:29 261次阅读
    如何用<b class='flag-5'>Java</b>代码调用

    java的主类必须是public类吗

    一下Java程序的基本结构。一个Java程序可以包含多个类,但是只能有一个公共的类作为主类。这个主类必须包含一个特殊的方法,即main方法,它是程序的入口点。当程序被执行时,首先执行main方法。 根据
    的头像 发表于 11-28 16:15 2252次阅读

    不带public的类可以被调用吗

    Java编程语言中,类的修饰符对类的可见性起到了重要的作用。public、private、protected和默认访问修饰符都用于确定类的可见性。公共类(
    的头像 发表于 11-28 16:29 290次阅读