类和对象(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/11/13 10:30:02 阅读更多 →
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/10/31 19:08:45 阅读更多 →
C语言实现数字锁相环:从数学模型到代码实战与性能分析

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

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

2026/11/4 3:56:21 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻