返回顶部
首页 > 资讯 > 后端开发 > Python >关于Java中的顶层类修饰问题
  • 949
分享到

关于Java中的顶层类修饰问题

2024-04-02 19:04:59 949人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录Java 顶层类修饰问题今天整理一下但是为什么是这种情况呢?private不能用于修饰顶层类原因Java 顶层类修饰问题 对于这个问题,一直没有仔细思考 今天整理一下 对于顶级类

Java 顶层类修饰问题

对于这个问题,一直没有仔细思考

今天整理一下

对于顶级类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。

如果类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。当一个内部类使用了private修饰后,只能在该类的外部类内部使用。

上面这些都是平时使用司空见惯的

但是为什么是这种情况呢?

可以想一下,一个java项目是不可能在一个class里面完成的。mvc模式中,是把类分为三层,一层层调用类。如果定义为私有的和受保护的就无法调用。

换句话说,对于一个java文件,要么就是自己单独运行,要么就是被其他程序作为库调用,如果一个java文件的类被private修饰,那么是不是其他的程序或是类是无法使用它的,那么他作为一个单独的文件就没啥用了。

如果它作为单个文件运行,类加载怎么找到它呢,因为它对外不可见。同时,也失去了类的存在意义。因此,类只有public和默认修饰符。

private不能用于修饰顶层类

原因

对于顶层类(外部类)来说,只有两种修饰符:public和默认(default)。

因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。

因此,只需要两种控制权限:包控制权限和公开访问权限,

也就对应两种控制修饰符:public和默认(default)。

但是private可以修饰class的,只不过该类不能使顶层类,

可以是内部类 内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。

当一个内部类使用了private修饰后,只能在该类的外部类内部使用

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 关于Java中的顶层类修饰问题

本文链接: https://lsjlt.com/news/156267.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 关于Java中的顶层类修饰问题
    目录Java 顶层类修饰问题今天整理一下但是为什么是这种情况呢?private不能用于修饰顶层类原因Java 顶层类修饰问题 对于这个问题,一直没有仔细思考 今天整理一下 对于顶级类...
    99+
    2024-04-02
  • 怎么理解关于Java中的顶层类修饰问题
    这篇文章主要讲解了“怎么理解关于Java中的顶层类修饰问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解关于Java中的顶层类修饰问题”吧!Java 顶层类修饰问题对于这个问题,一直...
    99+
    2023-06-25
  • 关于Controller层和Service层的类报错问题及解决方案
    目录Controller层和Service层的类报错Controller层和Service层的作用1.在controller和service里都写那些代码?2.在整个项目中什么时候加...
    99+
    2024-04-02
  • 关于Controller 层返回值的公共包装类的问题
    场景:在微服务中,一般返回数据都会有个返回码、返回信息和返回消息体,但是每次返回时候调用或者是封装,太过麻烦,有没有什么办法不用每次都封装呢? 答案是有的。 返回值对象 R...
    99+
    2024-04-02
  • 关于vue跳转后页面置顶的问题
    目录vue跳转后页面置顶vue如何实现置顶vue跳转后页面置顶 今天测试指出我的项目跳转页面时未置顶,嗯,这个太影响用户体验了。 但是办法总会有哒!No Problem! 只需在路径...
    99+
    2024-04-02
  • 关于java中继承类的权限问题的详细介绍
    在Java中有一个比较容易忽略的问题,那就是继承类的权限与基类的权限之间的关系。因为平时在使用继承类的时候,可能很少会需要到修改基类的访问权限控制符,而是直接使用基类的访问权限控制符。如果基类有属性方法是private的,那么子类是否可以修...
    99+
    2019-09-11
    java教程 java 继承类 权限
  • Java中关于char类型变量能够输出中文的问题
    目录前言一、char类型二、代码附表:Unicode字符列表总结前言 我印象中char变量不能输出为中文,今天敲代码发现char变量虽然不能直接存中文,但是可以输出,理解错误,记录一...
    99+
    2022-12-26
    Java char类型 char类型变量 char类型变量输出中文
  • Java中关于double、Double相关问题总结
    标题 java中double与Double的区别声明double变量的时候,加d与不加d有什么区别 java中float与double的区别java Double 详解BigDecimal、Double、String之间的互转j...
    99+
    2023-08-17
    Double
  • Java学习笔记:关于Java double类型相加问题
    目录Java double类型相加问题一、这个时候就要采用BigDecimal函数进行运算二、double 三种加法比较Java double类详解Double 类的构造方法Doub...
    99+
    2024-04-02
  • 详解Java中的访问修饰符
    详解Java中的访问修饰符?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、作用及种类UML类图建模语言或标准建模语言类的属性、操作中的可见性使用+、#、-分别...
    99+
    2023-06-15
  • 关于Java中的dozer对象转换问题
    目录Java中的dozer对象转换1、dozer介绍2、依赖坐标3、创建测试工厂【dozer_demo】3.1、引入对应的依赖3.2、创建UserDTO和UserEntity3.3、...
    99+
    2024-04-02
  • Java编程关于子类重写父类方法问题的理解
    子类重新实现父类的方法称重写;重写时可以修改访问权限修饰符和返回值,方法名和参数类型及个数都不可以修改;仅当返回值为类类型时,重写的方法才可以修改返回值类型,且必须是父类方法返回值的子类;要么就不修改,与父类返回值类型相同。那么,该如何理解...
    99+
    2023-05-30
    java 子类重写父类方法 ava
  • Java关于JDK1.8中的Optional类
    目录Java关于JDK1.8中的Optional类一、定义二、Optional方法的使用1、empty 方法2、of 方法返3、返回一个Optional实例4、isPresent 方...
    99+
    2024-04-02
  • 关于Java中properties文件编码问题
    目录Java properties文件编码问题问题一:Transparent native-to-ascii conversion是什么Java中属性文件(*.properties)...
    99+
    2024-04-02
  • 关于java中出现问号乱码问题的总结
    在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。下面是关于此类问题的总结。...
    99+
    2015-10-17
    java入门 java 问号 乱码 总结
  • 关于idea中Java Web项目的访问路径问题
    说明 这里只以 servlet 为例,没有涉及到框架,但其实路径的基本原理和框架的关系不大,所以学了框架的同学如果对路径有疑惑的也可以阅读此文 项目结构 在 idea 中新建一个 J...
    99+
    2024-04-02
  • 关于Java 中 Future 的 get 方法超时问题
    目录一、背景二、模拟2.1 常见写法2.2 尝试取消2.2.1 cancel(false)2.2.2 cancel(true)三、回归源码四、总结一、背景 很多 Java 工程师在准...
    99+
    2024-04-02
  • 关于docker中 WSL 配置与修改问题
    https://docs.microsoft.com/en-us/windows/wsl/wsl-config .wslconfig Stored in your%Use...
    99+
    2024-04-02
  • 关于numpy强制类型转换的问题
    目录numpy强制类型转换numpy类型强制转换apinumpy数据类型转换astype,dtype1.查看数据类型2.转换数据类型3.字符串数组转换为数值型numpy强制类型转换 ...
    99+
    2024-04-02
  • 关于Java中XML Namespace 命名空间问题
    根据Namespaces in XML W3C 推荐标准的定义,XML命名空间是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合;该集合通常称作 XML“词汇”。 定义...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作