当前位置: 首页 > news >正文

搜狐快速建站郴州市做网站

搜狐快速建站,郴州市做网站,国外社交网站建设,开发公司管理软件包 关于包有两个关键字 package : 声明当前类属于哪个包 和 import : 允许当前类使用其他类或接口时不使用全限定名 , 也就是导包 . IDEA 的普通项目文件包括 src : 包含源码和资源文件 和 out : 包含编译产物字节码文件 . 在 IDEA 开发环境建包会在 src 源码目录中生成 , 可…

关于包有两个关键字 package : 声明当前类属于哪个包 和 import : 允许当前类使用其他类或接口时不使用全限定名 , 也就是导包 .

IDEA 的普通项目文件包括 src : 包含源码和资源文件 和 out : 包含编译产物字节码文件 . 在 IDEA 开发环境建包会在 src 源码目录中生成 , 可以用多级目录 如 com.tiktok.java 映射到目录就是 src/com/tiktok/java 路径 和 单级目录 如仅用一个 tiktok , 项目越大越应用多级目录来建包管理项目 . IDEA 会自动生成 package 语句 .

如果导的多个包有同名类 , 在调用该类时要使用类的全限定名 , 否则会编译错误 .

没有显式声明 package 语句的 Java 类属于默认包 , 默认包没有包名 , 类直接位于根目录 , 只能被同样位于默认包的类访问 , 不能被其他非默认包类导包使用 .

* 资源文件的相对路径

相对的是什么 ?

  1. 当前工作目录 : 程序启动的目录 , IDEA 默认是项目根目录 .

    new File("xxx")
    
  2. 类路径根目录 : 类加载器加载资源后的根目录 , 即 /target/classes/ 或 out/production/模块名/ .

    getClassLoader().getResource("xxx")
    
  3. 使用 getResource 寻找 :

    1. 不以 / 开头 : 相对于当前类所在包 .

      getClass().getResource("xxx")
      
    2. / 开头 : 相对于类路径根目录 .

      getClass().getResource("/xxx")
      

如果我们在 输入输出流初始化 时 , 直接传入文件名或路径 , 执行会直接访问操作系统的文件系统路径 , 路径是相对于当前工作目录的 .

当前工作目录在 Java 程序运行时是 System.getProperty("user.dir") . 如果在 IDEA 里运行默认是项目根目录 , 如果打包成 JAR 运行则默认是运行命令的目录 .

类加载器加载资源文件

类加载器加载资源文件时 , 依赖 classpath 路径 ( 如 /out ) , 这个路径的资源来自 src/main/resources 或 src 下的资源 , 编译时会将这些资源复制到输出目录实现运行时访问 .

访问控制

访问控制是 Java 面向对象中封装特性的重要实现 .

访问修饰符

修饰符同类(Class)同包(Package)子类(不同包)其他类(不同包)
private✅ 可访问❌ 不可访问❌ 不可访问❌ 不可访问
默认(无修饰)✅ 可访问✅ 可访问❌ 不可访问❌ 不可访问
protected✅ 可访问✅ 可访问✅ 可访问(但需通过子类实例)❌ 不可访问
public✅ 可访问✅ 可访问✅ 可访问✅ 可访问

跨包子类只能通过自己实例或其子类实例访问父类 protected 修饰的成员 , 跨包子类中的父类实例不能访问这些成员 .

非内部类只能被 public 修饰 , 接口同理 . 内部类和内部接口可以使用其他修饰符修饰 .

* 区分默认方法

访问修饰符中没有 default , Java 8 加入的默认方法 default 关键字是声明修饰符 , 用于接口 , 实现有默认方法的接口的实现类可以选择重写该默认方法 , 也可以选择使用默认方法的方法体默认实现 , 不强制重写 .

* 默认方法 & 钩子方法

接口的默认方法提供默认实现 , 接口不再是方法签名的集合 , 实现类可以不用实现这个方法 , 这样设计便于扩展接口功能 .

钩子方法是父类设计的留白步骤 , 子类可以根据需求插入重写的自定义代码 , 影响执行流程 .

方面默认方法(Default Method)钩子方法(Hook Method)
定义Java 8 引入的接口中带有默认实现的方法,使用 default 关键字声明父类(通常是抽象类)提供的可被子类覆盖的方法,允许子类在执行流程中插入额外行为
出现位置出现在接口中出现在类(通常是抽象类)中
目的给接口增加新的方法,同时保持向后兼容;避免接口改动导致实现类全部修改提供一个“扩展点”,让子类可以选择性地修改或增强父类行为
调用方式通过接口引用调用,或者通过实现类调用通过父类方法调用,子类重写实现
实现机制方法体在接口中直接实现抽象类中预定义流程,钩子方法可空实现或默认实现
典型应用为接口添加新的功能时不破坏已有实现设计模板方法模式(Template Method Pattern)中的可扩展点
是否必须实现不是,接口实现类可以直接使用默认实现不是,子类可以选择重写或不重写

Getter/Setter

核心逻辑就是将类字段设置为私有 private , 对外提供 get 和 set 的查询和修改访问接口 , 控制字段读写权限 . 便于添加校验逻辑和额外处理 ( 如 Person 类的年龄 age 不应小于 0 ) , 也可以在 set 方法添加日志打印 , 追踪对象属性的修改情况 , 帮助开发者检查项目运行状态和调试问题 .

JavaBean

细则编号说明
1类必须实现 无参构造器(默认构造器或显式无参构造器)
2属性(字段)应为 私有(private),保证封装
3对属性的访问通过 gettersetter 方法,遵循命名规范
4getter 方法命名格式:public Type getPropertyName(),针对布尔类型,也可用 isPropertyName()
5setter 方法命名格式:public void setPropertyName(Type value)
6getter 方法返回属性值,setter 方法用于设置属性值
7实现 Serializable 接口,支持对象序列化(可选但推荐)
8不建议定义 public 的实例变量,避免直接访问
9应遵循 Java 命名规范,类名通常是大驼峰(PascalCase),属性名小驼峰(camelCase)
http://www.dtcms.com/a/446540.html

相关文章:

  • 在Linux中重定向,复制cp,硬链接的区别,Linux底层存储数据原理。
  • 软考~系统规划与管理师考试—知识篇—V2.0—考试科目2:系统规划与管理案例分析—题型分类—第七章 IT 服务持续改进—20192021
  • NopGraphQL 的设计创新:从 API 协议到通用信息操作引擎
  • 概率论:分布与检验
  • 网站后台视频教程视频号怎么付费推广
  • 浦江网站建设微信开发wordpress 浏览计数
  • 嵌入式开发学习日志35——stm32之超声波测距
  • 山东建设厅官方网站一级建造师搜索引擎平台
  • MATLAB计算有效干旱指数(Effective drought index, EDI)
  • 网站推广如何收费现在建一个网站一年费用只要几百元
  • 如何自己做游戏网站如何建设万网网站
  • 江苏省建设厅八大员考试报名网站石家庄有哪些公司可以做网站
  • 搭建Jenkins gitlab 环境
  • 企业做的网站费入什么科目江西网站备案
  • pink老师html5+css3day05
  • 哪里找人做网站织梦淘客网站
  • 网站开发原型法装个宽带多少钱
  • BTS7960 四轮运动控制 可行 前后左右
  • Linux学习笔记--i2c_Adapter驱动框架
  • 新乡做网站建设工程网站有哪些
  • liferay 做网站仿wordpress站
  • MySQL 中一条 SQL 语句的执行流程
  • 2025年--Lc162--H169.多数元素(数组和字符串)--Java版
  • wordpress搭建个人网站蚌埠市建设工程质监站网站
  • 中国建设銀行网站投诉电话wordpress 钩子列表
  • 腾讯云微服务平台TSF
  • 第125期:借助 n8n 构建 AI 智能体:10个自动化实践方案
  • 网站开发 案例wordpress怎么安装在宝塔软件
  • 网站权重对应的等级商丘至开网络科技有限公司
  • C++ 优先队列(priority_queue)深度解析