属性基础知识

发布时间:2026/7/9 3:16:26

属性基础知识
一、什么是Java属性属性 类中的成员变量用来描述对象的特征姓名、年龄、价格等。区分两种变量成员变量属性定义在类内部、方法外部属于对象/类局部变量定义在方法/代码块内仅当前代码生效public class Student { // 成员变量属性 String name; int age; static String school; // 静态属性 public void test() { int num 10; // 局部变量不是属性 }}二、属性的4种访问修饰符封装核心控制属性能被哪些类访问规范开发全部属性私有。开发规范属性一律 private外部不能直接访问通过 get/set 方法读写实现封装。三、实例属性 vs 静态属性static实例属性无static• 属于单个对象每个对象独立一份• 创建对象后才分配内存必须通过对象调用Student s1 new Student();s1.name “张三”;Student s2 new Student();s2.name “李四”; // 互不影响静态属性static修饰• 属于类本身所有对象共享同一份• 类加载时就初始化可直接用类名调用Student.school “一中”;Student s1 new Student();Student s2 new Student();// s1.school 和 s2.school 是同一个值四、属性默认初始化值成员变量创建时自动赋默认值局部变量无默认值必须手动赋值才能使用。基本类型• byte/short/int/long0• float/double0.0• booleanfalse• char\u0000空字符引用类型String、自定义类、数组null示例public class Demo { int a; // 默认0 boolean flag; // 默认false String str; // 默认null}五、属性赋值的4种时机执行顺序固定1.默认初始化最先执行分配内存赋默认值2.声明时直接赋值private String name “小明”;3.构造代码块赋值{ age 18;}4.构造方法赋值最后执行覆盖前面的值public Student(){ age 20;}执行顺序默认值 → 声明赋值 → 代码块 → 构造方法六、getter setter 标准写法封装必备属性私有后外部通过方法读写可增加数据校验逻辑。规则1.getterget属性名布尔类型可用 is属性名无参数返回属性值2.setterset属性名有参数无返回值public class Student { // 私有属性 private int age; private boolean isBoy; // age读 public int getAge() { return age; } // age写增加校验 public void setAge(int age) { if(age 0 age 150){ this.age age; }else{ System.out.println(“年龄非法”); } } // boolean属性getter特殊写法 public boolean isBoy() { return isBoy; } public void setBoy(boolean boy) { isBoy boy; }}使用Student s new Student();s.setAge(20);System.out.println(s.getAge());七、final 修饰的属性常量1.实例final属性必须在「声明时 / 构造代码块 / 构造方法」三者之一赋值赋值后不可修改。private final String ID;public Student(String id){ ID id;}2.static final 全局常量类加载时赋值全项目统一命名全大写下划线分隔public static final double PI 3.14159;八、属性相关关键字总结1.private私有化封装2.static静态归属类共享3.final不可修改常量4.this访问当前对象的实例属性区分局部变量重名public void setName(String name){ this.name name;}5.static this 不能共存静态方法/静态代码块不能用this访问实例属性九、常见易错点1.局部变量没有默认值不赋值直接编译报错成员变量有默认值2.static属性不能用this调用实例属性不能在静态方法直接调用3.private属性外部无法直接 .属性名 访问只能get/set4.final属性只能赋值一次不可二次修改5.子类无法直接访问父类private属性只能调用父类get/set十、完整示例代码public class User { // 实例私有属性 private String username; private final String userId; // 静态常量 public static final String COUNTRY “中国”; // 静态共享属性 public static String company; // 构造方法给final属性赋值 public User(String userId) { this.userId userId; } // getter setter public String getUsername() { return username; } public void setUsername(String username) { this.username username; } public String getUserId() { return userId; }}class Test { public static void main(String[] args) { User.company “字节”; User u new User(“001”); u.setUsername(“张三”); System.out.println(u.getUsername()); System.out.println(User.COUNTRY); System.out.println(User.company); }}

相关新闻

腾讯混元3D+ComfyUI:单图生成高质量3D模型的低显存实战指南

腾讯混元3D+ComfyUI:单图生成高质量3D模型的低显存实战指南

2026/7/8 1:07:17

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在本地实现单张图片到 3D 模型的生成,一直是计算机视觉和图形学领域的难点。传统流程需要多视角图像、深度信息或专业建模…

线束中国探展专访|广东星坤:以高可靠互连突围,打造国产连接器全球化标杆

线束中国探展专访|广东星坤:以高可靠互连突围,打造国产连接器全球化标杆

2026/7/8 0:57:17

026 慕尼黑上海电子展火热启幕,新能源汽车、工业自动化、5G 通信产业加速迭代,线束与连接器作为整车、设备的 “神经与血管”,迎来高速、高压、高可靠的全新技术变革窗口。线束中国探展团队走进广东星坤控股 W1.333 展台,对话企业…

MAX77654与MKV42F嵌入式电源管理方案设计与优化

MAX77654与MKV42F嵌入式电源管理方案设计与优化

2026/7/8 0:57:17

1. 项目背景与核心需求在嵌入式系统设计中,电源管理始终是决定产品可靠性和能效表现的关键环节。特别是在需要长时间运行的便携式设备、工业控制设备和物联网终端中,如何实现高效、稳定且灵活的电源管理,直接影响到产品的续航能力、发热控制和…

openEuler/python-multi_key_dict核心功能解析:从基础操作到高级迭代技巧

openEuler/python-multi_key_dict核心功能解析:从基础操作到高级迭代技巧

2026/7/9 3:09:35

openEuler/python-multi_key_dict核心功能解析:从基础操作到高级迭代技巧 【免费下载链接】python-multi_key_dict Multi key dictionary implementation 项目地址: https://gitcode.com/openeuler/python-multi_key_dict 前往项目官网免费下载:h…

Linux talk 命令详解:经典终端实时聊天工具,无需图形界面即可对话

Linux talk 命令详解:经典终端实时聊天工具,无需图形界面即可对话

2026/7/9 3:09:34

1. 命令简介 talk 命令是一个基于文本的实时聊天工具,允许同一台或多台 Unix/Linux 主机上的两个已登录用户进行交互式对话。它是早期 Unix 系统网络通信的经典工具之一,通过 talk 守护进程(talkd)在用户间建立连接,实…

mba论文开题报告模板范文

mba论文开题报告模板范文

2026/7/9 3:09:34

mba论文开题报告模板范文 深夜,你对着电脑屏幕,导师那句“研究问题不聚焦,回去重写”还在耳边回响。开题报告卡住了你MBA论文的咽喉,文献综述像一团乱麻,研究框架怎么搭都感觉摇摇欲坠。你需要的不是一篇空洞的“范文…

Python基础知识(一)

Python基础知识(一)

2026/7/9 3:09:34

一、Python的基本数据类型二、Python整数进制转换三、Python数据类型转换函数一、Python的基本数据类型Python包含了很多种的数据类型,以下仅列举出几种常见并且非常基础的数据类型。1、整数型(int):支持正负整数,无大…

2026大庆黄金回收白银回收铂金回收市民首选无隐形扣费正规备案回收门店联系方式推荐

2026大庆黄金回收白银回收铂金回收市民首选无隐形扣费正规备案回收门店联系方式推荐

2026/7/9 3:09:34

大庆黄金白银铂金回收2026实测榜单|公安备案中检认证无折旧费门店推荐 大庆本地贵金属回收店铺遍地丛生,行业套路层出不穷,不少市民变现遭遇虚高报价、克扣损耗、未经同意熔金压价等问题。为帮助本地居民规避消费陷阱,小编实地走…

dp 与 hdmi

dp 与 hdmi

2026/7/9 2:59:34

1. 带宽与分辨率上限(核心差异)(DisplayPort)HDMI 2.1:带宽最高达 48Gbps,支持4K 120Hz、8K 60Hz。DP 1.4/2.0:DP 1.4带宽为 32.4Gbps(但实际可用略低),而D…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/8 0:44:47

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/8 6:29:42

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

平价正宗重庆火锅实测|理性避坑选型指南

平价正宗重庆火锅实测|理性避坑选型指南

2026/7/9 0:09:12

一、引言:重庆火锅消费现存痛点当下大众平价川渝火锅赛道竞争白热化,普通消费者就餐普遍面临三大选型难题:一是口味同质化严重,大量门店采用预制锅底、半成品食材,打着重庆老火锅旗号弱化牛油本味,麻辣口感…

AcFunDown:打破A站视频离线观看壁垒的终极解决方案

AcFunDown:打破A站视频离线观看壁垒的终极解决方案

2026/7/9 0:09:12

AcFunDown:打破A站视频离线观看壁垒的终极解决方案 【免费下载链接】AcFunDown 包含PC端UI界面的A站 视频下载器。支持收藏夹、UP主视频批量下载 😳仅供交流学习使用喔 项目地址: https://gitcode.com/gh_mirrors/ac/AcFunDown 想象一下这样的场景…

【复现】面向新能源消纳能力评估的年负荷序列建模及场景生成方法(Matlab代码实现)

【复现】面向新能源消纳能力评估的年负荷序列建模及场景生成方法(Matlab代码实现)

2026/7/9 0:09:12

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…