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

Java零基础笔记07(Java编程核心:面向对象编程 {类,static关键字})

1.对象

        对象是一种特殊的数据结构, 可以用来记住一个事物的数据,  从而代表该事物

1.1 面向对象的实现步骤

        对象本质上是一种特殊的数据结构 ( 可以理解为一张表 ) 

        对象在计算机中的运行过程状态:

万物皆对象, 谁的数据谁存储

2.类的成分

2.1 构造器

        构造器是一种特殊的方法,  它的名字要和类名一样

第一:  创建了一个学生对象     第二:  根据对象默认调用无参构造器

示例调用无参构造器: 

常见应用场景:

2.2 this关键字

        this是一个变量,  可以用在方法中,  来拿到当前的对象  -->  哪个对象调用这个方法,  this就拿到哪个对象

应用场景:  解决变量名称冲突的问题

        此时输出只接收了传递过来的name的值,  导致都是" 唱歌 "

        加上关键字,  前一个name就会去获取当前对象的名称

2.3 封装

         类就是一种封装

封装的设计要求:  合理隐藏,  合理暴露

2.4 JavaBean

        是实体类,  一种特殊的类,  必须满足以下要求:

实体对象的应用场景 ( 分层思想 ) :  

        实体类的对象只负责数据存储,  而对数据的业务处理交给其他类的对象来完成,  以实现数据数据业务处理相分离

2.5 static关键字

        static叫静态,  可以修饰成员变量和成员方法

2.5.1 static关键字用法 ( 成员变量的分类 )

成员变量按照有无static修饰,分为两种:

● 静态变量(类变量):有static修饰,属于类,在计算机里只有一份,会被类的全部对象共享

● 实例变量(对象的变量):无static修饰,属于每个对象独有,只能该对象自己使用

2.5.2 执行原理

2.5.3 静态变量的应用场景:

        如果某个数据只需要一份,且希望能够被共享(访问、修改),则该数据可以定义成静态变量来记住。

public class User {public static int count = 0;public User(){// User.count++;// 注意:同一个类中访问静态成员可以省略类名不写count++;}
}

2.5.4 static修饰方法 ( 成员方法的分类 )

public class Test {public static void main(String[] args) {// 目标:认识static修饰和不修饰方法的区别// 1. 类名.静态方法(推荐)Student.printHelloWorld();// 2. 对象.静态方法(不推荐)Student s1 = new Student();s1.printHelloWorld();// 3. 对象名.实例方法s1.setScore(59.5);s1.printPass();}
}public class Student {private double score;// 静态方法:有static修饰,属于类持有。public static void printHelloWorld() {System.out.println("Hello World");System.out.println("Hello World");System.out.println("Hello World");}// 实例方法:没有static修饰,属于对象持有。public void printPass() {System.out.println(score >= 60 ? "通过" : "您挂科");}public void setScore(double score) {this.score = score;}
}

规范: 

  • 如果这个方法只是为了做一个功能且不需要直接访问对象的数据,这个方法直接定义成静态方法
  • 如果这个方法是对象的行为,需要访问对象的数据,这个方法必须定义成实例方法
  • 同类中可以不写对象就可以直接调用该类的方法

2.5.5 静态方法常见应用场景

        做工具类

 构造器私有化,  更加专业,  表示没有创建对象的必要性 ( 源码也是这样写的 )

2.5.6 static的注意事项

静态方法,实例方法访问相关的几点注意事项:

● 静态方法中可以直接访问静态成员,不可以直接访问实例成员。
● 实例方法中既可以直接访问静态成员,也可以直接访问实例成员。
● 实例方法中可以出现this关键字,静态方法中不可以出现this关键字的。

http://www.lryc.cn/news/582686.html

相关文章:

  • EXCEL(带图)转html
  • linux wsl2 docker 镜像复用快速方法
  • 解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
  • 代码详细注释:C语言实现控制台用户注册登录系统
  • Spring Boot + Easy Excel 自定义复杂样式导入导出
  • MySQL 8.0 OCP 1Z0-908 题目解析(22)
  • AI编程的未来是智能体原生开发?
  • MyBatis-Plus:深入探索与最佳实践
  • Vue的初步学习
  • 阿里云mysql数据丢失,如何通过服务器备份在其他服务器上恢复数据,并获取mysql丢失数据,完成mysql数据恢复
  • 如何在 Android Framework层面控制高通(Qualcomm)芯片的 CPU 和 GPU。
  • AWS OpenSearch Dev Tools使用
  • 跨平台软件构建方法及工具介绍
  • HCIA-Cloud 是什么?有啥用?
  • Vue 2现代模式打包:双包架构下的性能突围战
  • 在keil中使用stlink下载程序报错Invalid ROM Table
  • 最新团购源码商城 虚拟商城系统源码 全开源
  • 【笔记】开源 AI Agent 项目 V1 版本 [新版] 部署 日志
  • 【Java安全】RMI基础
  • navicat导出数据库的表结构
  • 【1-快速上手】
  • .NET9 实现对象深拷贝和浅拷贝的性能测试
  • ROS平台上使用C++实现A*算法
  • TensorFlow深度学习实战——基于自编码器构建句子向量
  • 微服务集成snail-job分布式定时任务系统实践
  • Go语言反射机制详解
  • 手动实现 Tomcat 核心机制:打造属于自己的 Servlet 容器
  • 【AI智能体】智能音视频-硬件设备基于 WebSocket 实现语音交互
  • 一文讲清楚React的diff算法
  • 汽车功能安全系统阶段开发【技术安全方案TSC以及安全分析】5