类和对象(java 精简版)
1.类的定义格式在java中定义类时需要用到class关键字//创建类 class ClassName{ filed; //子段属性或者 成员变量 method; //行为 或者 成员方法 }2.成员变量和成员方法class Student{ //成员变量 public String name; public int age; //普通成员方法 public void shouinfo(){ System.out.println(姓名 name 年龄 age); }成员变量没初始化时会有一个默认值引用类型为null , 基本数据类型为对应的0值而局部变量在使用的时候要进行初始化。3.类的实例化public class Main(){ public static void main(String[] args) { Student student new Student();//通过new实例化对象 student.name lihua; student.age 18; student.shouinfo(); } }4.this 引用4.1名字冲突区分变量public Data(int year, int month, int day) { this.year year; this.month month; this.day day; }4.2this 引用的特性哪个对象的引用调用了该方法this 就代表哪个对象this 其实是成员方法隐藏的第一个参数public void steDate(Date this, int year, int month, int day)只能在成员方法中使用调用本类变量和方法时 this.变量 this.方法构造方法中通过this 调用其他构造方法 this构造方法5.构造方法public class Student { public String name; public int age; public long id; public Student() { //无参数构造方法 System.out.println(无参数); } public Student(String name, int age, int id) { this.name name; this.age age; this.id id; //有参数的构造方法 System.out.println(有参数); } public static void main(String[] args) { Student student1new Student(); Student student2new Student(lihua,19,20250610); } }名字必须与类名相同没有返回值类型设置为void也不行作用初始化对象当中的成员可发生重载比如无参数构造方法和有参数的构造方法当没有任何构造方法的时候java会提供一个默认的无参的构造方法一旦写了其他的构造方法就不会自动提供无参的构造方法了6.封装6.1概念封装是面向对象编程的三大核心特性之一另外两个是继承和多态封装将数据和操作数据的方法进行有机结合隐藏对象的属性和实现细节仅对外公开接口来和对象交互。简单来说就是对成员变量或成员方法使用private进行修饰达到效果成员变量或成员方法只能 在当前类中使用不能在类外使用6.2访问权限限定符在Java中通过使用访问权限限定符来实现封装。它们用于控制类、变量、方法和构造器的可见性范围。Java提供了四种访问级别从最严格到最宽松依次为访问范围privatedefault(包访问权限)protectedpublic同一类中✓✓✓✓同一包中不同类✓✓✓不同包的子类✓✓不同包的非子类✓7.包7.1概念把多个类收集在一起组为一组称为软件包本质就是文件夹分门别类管理类解决类名重名冲突7.2自定义包//假设创建如下的包 pakage com.bit.demo1对应磁盘文件夹 com/bit/demo1域名倒写是行业惯例7.3导入类import7.3.1普通导入//java.util是java提供的工具程序包 import java.util.Scanner; //导入单个类util里的Scanner import java.util.*; //导入包下所有类7.3.2静态导入import static java.lang.Math.PI; import static java.lang.Math.*;7.3.3区别普通 import 导入整个类静态成员在类里面要使用 ”类名.静态变量/静态方法“ 的格式import java.lang.Math; public class test { public static void main(String[] args) { //普通导入使用 类名.静态变量/静态方法 double numMath.random(); System.out.println(num); } }静态 import 只能抽走静态成员目的就是省略类名直接裸名调用import static java.lang.Math.*; public class test { public static void main(String[] args) { double x 30; double y 40; double result1 Math.sqrt(Math.pow(x, 2) Math.pow(y, 2)); //静态导入 可以省略类名 Math double result2 sqrt(pow(x, 2) pow(y, 2)); System.out.println(result1); System.out.println(result2); } }8.static 关键字8.1static修饰成员变量static修饰的成员变量称为静态变量。这个变量是属于类的不是对象的对象或类名都可以访问但建议通过类名来访问public class Student1 { public String name; public int age; public String gender; public double score; public static String classroom A123; public Student1(String name, int age, String gender, double score) { this.name name; this.age age; this.gender gender; this.score score; } public static void main(String[] args) { //可直接通过类名访问 System.out.println(Student1.classroom); Student1 s1 new Student1(lihua,18,women,88.1); Student1 s2 new Student1(xiaoming,19,man,87.3); //也可以通过对象访问但是不建议 System.out.println(s1.classroom); System.out.println(s2.classroom); } }8.2static修饰成员方法在静态方法中不能够直接调用非静态方法可以new一个因为静态方法不依赖于对象可以直接通过类名访问但是非静态方法依赖对象需要通过对象的引用访问非静态方法中可以调用静态方法9.代码块使用 { } 定义的一段代码叫做代码块。根据代码块定义的位置可以分为一下四种普通代码块构造块静态块同步代码块本节不讨论9.1普通代码块定义在方法中的代码块public class Main{ public static void main(String[] args) { //直接用 {} 定义普通方法块 { int x1 10; System.out.println(x1 x1); } int x2 100; System.out.println(x2 x2); } }这种方法比较少见9.2构造代码块定义在类中的代码块不加修饰符也叫实例代码块构造代码块一般用于初始化成员变量。public class Student2 { private String name; private int age; private String gender; private double score; private static String classroom; //实例代码块 { this.name xiaoming; this.age 18; this.gender men; this.score 91; } public void show() { System.out.println(name age gender score); } public static void main(String[] args) { Student2 s1 new Student2(); s1.show(); } }9.3静态代码块使用static定义的代码块称为静态代码块一般用于初始化静态成员变量。static { classroom B123; System.out.println(static); }

相关新闻

基于Leaflet.js的Web地图可视化实战:从坐标解析到交互式呈现

基于Leaflet.js的Web地图可视化实战:从坐标解析到交互式呈现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 8:16:49 阅读更多 →
Sa-Token实战:Java权限认证框架从入门到精通,一站式解决登录鉴权难题

Sa-Token实战:Java权限认证框架从入门到精通,一站式解决登录鉴权难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 8:15:49 阅读更多 →
C语言实现数字锁相环:从数学模型到代码实战与性能分析

C语言实现数字锁相环:从数学模型到代码实战与性能分析

简介:本资源是一套面向电力电子与嵌入式系统初学者的PLL锁相环仿真与C语言实现完整工程,聚焦通信同步、电网频率跟踪等典型应用场景,解决理论理解与代码落地脱节问题。压缩包共141个文件,968KB,涵盖11个C源文件&#x…

2026/9/3 8:15:49 阅读更多 →

最新新闻

UTF-16 LE转UTF-8全攻略:从原理到代码实践

UTF-16 LE转UTF-8全攻略:从原理到代码实践

在实际开发中,把 UTF-16 LE 的文本转换成 UTF-8 的文本,是一类很常见的编码迁移任务。Windows 记事本的“Unicode”另存为,在很长一段时间里实际写出的就是 UTF-16 LE;旧版日志系统、ERP 导出的 txt、部分 Windows 软件生成的配置…

2026/9/3 10:36:34 阅读更多 →
从“存数据”走到“存智能”,中科曙光推出新一代词元加速方案ParaCache

从“存数据”走到“存智能”,中科曙光推出新一代词元加速方案ParaCache

从“存数据”到“存智能”,ParaCache的实践表明:当算力堆砌遇到边际效益递减时,系统级的存算协同优化将成为释放AI基础设施潜能的关键路径。当前,大模型推理已要替代训练,成为AI算力的主战场。有行业数据显示&#xff…

2026/9/3 10:36:34 阅读更多 →
Hermes Agent v0.21.0:Bots Mode与多Agent协作实战指南

Hermes Agent v0.21.0:Bots Mode与多Agent协作实战指南

如果你平时关注 AI Agent 工具,应该会有一个明显感受:单论“对话生成代码”,大多数 Agent 已经做得不错;可一旦要进入真实工作流,让它定时跑任务、挂载企业知识库、多个 Agent 分工协作,很多工具就开始力不…

2026/9/3 10:36:34 阅读更多 →
慢速英语精听五步法:用家庭话题材料搞定听力训练

慢速英语精听五步法:用家庭话题材料搞定听力训练

很多学习者练慢速英语时会陷入一个误区:点开音频、放着当背景音、偶尔瞄一眼字幕,循环几遍后告诉自己“我听过了”。这种低效重复练习,最大的问题是没有让大脑真正参与理解。慢速英语材料真正的作用,不是“磨耳朵”,而…

2026/9/3 10:36:34 阅读更多 →
Socket.IO消息可靠投递揭秘:连接状态恢复(CSR)机制深度解析,断线重连不丢包

Socket.IO消息可靠投递揭秘:连接状态恢复(CSR)机制深度解析,断线重连不丢包

Socket.IO消息可靠投递揭秘:连接状态恢复(CSR)机制深度解析,断线重连不丢包 【免费下载链接】socket.io Bidirectional and low-latency communication for every platform 项目地址: https://gitcode.com/gh_mirrors/so/socket…

2026/9/3 10:36:34 阅读更多 →
PolarDB+MemTensor:云原生数据库如何解决AI向量检索性能瓶颈

PolarDB+MemTensor:云原生数据库如何解决AI向量检索性能瓶颈

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 10:35:33 阅读更多 →

日新闻

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

2026/9/3 0:00:29 阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/3 4:22:22 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/3 4:22:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/3 4:22:59 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/3 4:17:49 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/3 4:18:56 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/3 4:21:44 阅读更多 →