面向对象:①类与对象②封装③继承④接口

类与对象:

  • 概念:类就是类别的意思  用class表示 /  面向对象编程,万物皆可编程,在程序中表示一个事物时,往往因为事物的复杂程度导致编程的代码非常复杂 【基本数据类型,只能实现一个变量用来表示一个数据的情况,当下面这种有多个数据组成的一份数据,使用一个基本数据类型表示时就比较复杂】

比如:一个人、一个用户、一个学生

人:姓名 年龄 性别 体重 身高 等

用户:账号ID 密码 几分 电话 地址 邮箱等

学生:姓名 年龄 班级 学分 学号等

        ①复合型数据类型创建的变量——叫做对象变量,对象变量中包含了,按照类模版生成的多个基本数据/其他数据

  • 什么是对象  对象就是具体的事物、具体存在的。  程序中 对象指代一个事物在计算机中映射的数据体 存在于内存中
  • 类与对象的关系 

①类就是一个概念性的东西,是一个模版 用于创建对象变量的模版

②对象是一个具体的东西 是代码执行之后  在内存中存在的一份数据体

类与对象的语法:

  • 类的定义: 语法: public class 类名{  }
  • 命名要求:推荐【阿里巴巴Java开发手册】

        ①类名/类文件名:首字母大写,多个单词拼接,每个单词首字母大写 -> 驼峰命名法

        ②方法名/变量名:首字母小写,多个单词拼接,每个首字母大写 -> 小驼峰命名法

        ③偶尔使用的局部变量:循环中计数等等可以使用字母    或者小写或者缩写 

        ④不要使用拼音,使用单词。

  • 一个类中需要定义什么内容,能变成一个可以符合面向对象编程的复合型数据类型
  • 类就是复合型数据类型,如何规划一个类别?

        类别的来源——共性

        通过分析事物之间是否具有相同的/相似的  属性 特征 行为 功能…… 来划分类别

        所以我们定义类时,也需要找到 这个类别对应事物都有哪些数据 特征 行为 功能等

        然后使用代码将这些内容定义到类中,实现复合型数据类型的组成

  • 学生管理系统

  • 创建对象的格式: 类型 对象变量名 = new  类名();

        ①学生可以注册信息

        ②可以查看自己的信息

        ③可以修改自己的信息

        ④可以选课

        ⑤可以在线学习

        ⑥可以在线考试

  1. 首先需要知道系统重应该保存每个学生的哪些信息,需要哪些信息来完成所有 功能                信息: 姓名 学号 学分 年龄 班级 专业 密码 课程表                                                                  功能:登录 查信息 修改信息 选课 学习 考试
  2. 所有一个类的内容包含                                                                                                             

        ①属性:用来表示这个类别对应的事物应该有什么数据信息 通常在代码使用变量来定义

                格式:属性的数据类型  属性数据变量名;

                String name;  int age;

        ②方法:用来表示这个类别具备的行为/功能,一对象为主语的行为,通常使用方法(函数,一段代码的结构)来表示

                格式:public 返回值类型 方法名(参数){  方法体  }

                - 返回值:方法结构的一部分,具备一定的功能性 用于帮助程序更好的完成一些逻辑

                        - 用于实现在调用方法之后,获得这个方法得到的结果。

                        - 定义方法时就需要考虑如何设计返回值。思考这个方法需要返回的结果是什么类型,从而定义方法设定返回值类型。

                        - 如果这个方法不需要返回值,返回值类型可以设定为void

                        - 一单设定了具体的返回值类型,在方法任何有可能结束运行的位置 都需要使用return返回响应返回值类型的结果

                        - 在调用方法的位置,可以在方法前面可以创建一个队形返回值类型的变量,来接收方法先执行完成返回的结果

  • Math 工具类 这个类中所有的方法比较特殊,是静态方法,可以使用类名调用    Math.min是两数比较得最小值   Math.max是两数比较得最大值

                - 参数:方法结构的一部分,相当于方法的局部变量

                        - 在定义方法时,在不知道一些具体的数据时,可以使用参数变量来替代,为了完成代码的逻辑编写

                        - 在调用方法时,需要根据定义的参数类型,向方法的括号写上对应的变数据/或者带有数据的变量

                - 格式:

                ①无参数:空着不写,调用方法时,方法名后面括号也空着

                ②有参数:

                        单个参数:(数据类型 数据变量名)在调用时给的参数数据只要符合参数类型就可以

                        多个参数:(参数数据类型 参数变量名2,数据类型 参数名1)每个参数名必须不一致,传入参数时要注意顺序


public class Student {//属性String name;String stuID;String className;int age;int score;public void showInfo(){System.out.println("--学生个人基础信息--");System.out.println("姓名" + name);System.out.println("学号" + stuID);System.out.println("年龄" + age);System.out.println("班级" + className);System.out.println("成绩" + score);}public void study(){score+=5;System.out.println(name + "学习了一门课程,学分增加5分。");}public void play(){System.out.println(name + "正在玩");}//测试//使用类创建对象变量 并使用对象变量名调用属性和方法public static void main(String[] args) {Student s1 = new Student();s1.name = "张三";s1.stuID = "001";s1.age = 18;s1.className = "1班";s1.score = 90;s1.showInfo();s1.study();s1.showInfo();s1.play();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912241.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912241.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912241.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ RPC模式Python示例

文章目录 1.服务端2.客户端3.调用结果 1.服务端 #!/usr/bin/env python3 # -*- coding: UTF-8 -*- """ File: rabbitmq_server.py Date: 2025/6/26 10:42 Author: xxx Description: 1. RabbitMQ服务端,支持多节点命令执行 2. 作为被控…

Rust代码规范之蛇形命名法和驼峰命名法

Rust 使用两种主要的命名风格:驼峰命名法(UpperCamelCase)和蛇形命名法(snake_case)。通常,类型(如结构体、枚举、特征)使用驼峰命名法,而变量、函数、方法等使用蛇形命名…

编写CSS的格式

1、内联样式的css import React, { PureComponent } from reactexport class App extends PureComponent {constructor() {super()this.state {fs: 20}}render() {const { fs } this.statereturn (<div><p style{{ color: red, fontSize: ${fs}px }}>哈哈哈哈哈…

Redis—主从复制

引言 Redis的应用还得是在分布式系统当中。在分布式系统中&#xff0c;涉及到一个非常关键的问题&#xff0c;就是单点问题。例如&#xff0c;如果某个服务器程序&#xff0c;只有一个节点&#xff08;只搞了一个物理服务器&#xff0c;来部署这个服务器程序&#xff09;&…

【网络安全】从IP头部看网络通信:IPv4、IPv6与抓包工具 Wireshark 实战

从IP头部看网络通信&#xff1a;IPv4、IPv6与抓包工具 Wireshark实战 在网络安全分析和数据通信的世界中&#xff0c;一切都始于“数据包”。数据包是网络上传输的基本单位&#xff0c;而数据包的结构与内容&#xff0c;正是我们理解网络行为的核心。本文将带你深入了解 IP 协…

IPv4网络地址分类

目录 一、核心分类标准 二、详细范围与主机数量 1. A类网络&#xff08;超大规模网络&#xff09; 2. B类网络&#xff08;中大型网络&#xff09; 3. C类网络&#xff08;小型网络&#xff09; 三、三类网络对比表 四、保留地址说明 五、现代网络中的变化 六、主机数…

Qt:QCustomPlot库简介

QCustomPlot 是一个基于 Qt 框架的轻量级 C 绘图库&#xff0c;专为高效绘制二维图表&#xff08;如曲线图、柱状图、金融图表等&#xff09;而设计。相比 Qt Charts 模块&#xff0c;它以 高性能 和 高度可定制性 著称&#xff0c;尤其适合需要实时数据可视化的科学计算、工业…

【云桌面容器KasmVNC】如何关闭SSL使用HTTP

1 缘起 根据实际的诉求,调整实现方式。 为用户提供云浏览器(通过浏览器访问远程浏览器),多用户的每个任务提供资源隔离的云浏览器。 该功能,由同事祥嵩曾调研与开发,使用KasmVNC实现功能,非常佩服祥嵩,无论是技术广度还是技术深度都是杠杠滴,无可挑剔。 实际的诉求是…

跟着AI学习C#之项目实战-电商平台 Day5

&#x1f4c5; Day 5&#xff1a;订单提交与支付模拟 ✅ 今日目标&#xff1a; 创建 Order 和 OrderItem 模型实现从购物车生成订单的功能模拟支付流程&#xff08;成功/失败页面&#xff09;添加订单状态跟踪&#xff08;如“待付款”、“已发货”等&#xff09;提交 Git 版…

复杂驱动开发-TLE9471的休眠流程与定时唤醒

文章目录 前言休眠流程定时唤醒功能总结 前言 开发SBC时非常重要的一环就是开发休眠流程&#xff0c;其目的是为了保证接KL30的ECU在休眠模式下尽可能小的消耗低压蓄电池的电量&#xff0c;防止车辆放置长时间后出现亏电。而定时唤醒功能在部分ECU中会有需求休眠后定期对车辆状…

Spark 之 Reuse

src/main/scala/org/apache/spark/sql/execution/reuse/ReuseExchangeAndSubquery.scala case object ReuseExchangeAndSubquery extends Rule[SparkPlan] {def apply(plan: SparkPlan): SparkPlan = {if (conf.exchan

Solidity学习 - 错误处理

文章目录 前言EVM错误处理机制EVM错误处理的核心特性程序中的错误处理 错误抛出方法require()函数require()触发异常的场景关键特性 assert()函数assert()触发异常的场景关键特性 require() vs assert()&#xff1a;选择指南revert()函数关键特性 异常捕获&#xff1a;try/catc…

如何永久删除Android上的短信[无法恢复]

当您不再保留 Android 设备时&#xff0c;您将需要彻底删除所有私人数据&#xff0c;包括短信。因此&#xff0c;有必要了解如何永久删除Android上的短信。现在&#xff0c;阅读本指南&#xff0c;掌握消除信息的实用方法。 第 1 部分&#xff1a;如何一键永久删除 Android 上的…

P12894 [蓝桥杯 2025 国 Java B] 智能交通信号灯

[Problem] \color{blue}{\texttt{[Problem]}} [Problem] 给定一个长度为 n n n 的数组 a 1 … n a_{1\dots n} a1…n​&#xff0c;进行 m m m 次一下操作&#xff1a; 给定 l , r l,r l,r&#xff0c;求出 ∑ l ≤ i < j ≤ r mex { a i , a j } \sum\limits_{l \le…

华为云Flexus+DeepSeek征文|基于华为云一键部署的 Dify-LLM 平台构建智能试卷生成助手

目录 前言 1 华为云Dify-LLM应用平台部署 1.1 一键部署平台简介 1.2 四步完成部署流程 2 接入华为云 DeepSeek 自定义大模型 2.1 ModelArts Studio 模型服务介绍 2.2 配置自定义大模型 3 创建试卷生成工具&#xff08;工作流&#xff09; 3.1 设计 DSL 工作流 3.2 工…

嵌入式硬件与应用篇---寄存器GPIO控制

在 ARM 架构中&#xff0c;通过 32 位寄存器控制 GPIO&#xff08;通用输入输出&#xff09;的核心步骤和方法可分为以下几个关键环节&#xff0c;结合不同芯片的实现差异&#xff0c;具体操作需参考对应的数据手册&#xff1a; 一、GPIO 控制的核心步骤 1. 使能 GPIO 时钟 …

Fiddler中文版抓包工具在跨域与OAuth调试中的深度应用

跨域和OAuth授权流程一直是Web和移动开发中最容易踩坑的领域。复杂的CORS配置、重定向中的Token传递、授权码流程的跳转&#xff0c;以及多域名环境下的Cookie共享&#xff0c;常常让开发者陷入调试困境。此时&#xff0c;一款能够精准捕获、修改、重放请求的抓包工具显得至关重…

React用户交互事件

在React中处理用户交互事件&#xff08;如点击、输入、提交等&#xff09;的方式与原生JavaScript类似&#xff0c;但有一些语法差异和最佳实践。以下是常见交互事件的处理方法及代码示例&#xff1a; 一、基本事件处理&#xff08;点击、输入等&#xff09; 1. 点击事件&…

DHT11 STM32 HAL驱动库 整数

dht11.h #ifndef __DHT11_H #define __DHT11_H#include "stm32f1xx_hal.h" // 根据实际芯片型号调整&#xff08;如stm32f4xx_hal.h&#xff09;// DHT11数据结构 typedef struct {GPIO_TypeDef *GPIOx; // GPIO端口&#xff08;如GPIOA&#xff09;uint16_t GP…

【Actix Web 精要】Rust Web 服务开发核心技术与实战指南

目录 一、Actix Web 核心架构解析1.1 核心组件交互流程1.2 关键组件说明&#xff1a; 二、项目初始化与配置2.1 创建项目2.2 添加依赖 (Cargo.toml)2.3 项目结构 三、核心模块实现3.1 配置管理 (src/config.rs)3.2 应用状态管理 (src/main.rs)3.3 数据模型 (src/models/user.rs…