java009 - Java面向对象基础

1、类和对象

1.1 什么是对象

万物皆对象,客观存在的事物皆为对象。

1.2 什么是面向对象

1.3 什么是类 

类是对现实生活中一类具有共同属性行为的事物抽象。

特点:

  • 类是对象的数据类型
  • 类是具有相同属性和行为的一组对象的集合

1.4 什么是对象的属性

属性:对象具有的各种特征,每个对象的每个属性,都拥有特定的值。

1.5 什么是对象的行为

行为:对象能够执行的操作

1.6 类和对象的关系

  • 类是对现实生活中一类具有共同属性和行为的事物的抽象
  • 对象是看得见摸得着真实存在的实体

 重要总结:

1.7 类的定义

1.7.1 概念、重要性、组成

1.7.2 定义步骤
  • 定义类
  • 成员变量
  • 成员方法(无static关键字)

编写一个手机类:

1.8 对象的使用

1.8.1 语法

1.8.2 案例

001 使用之前定义的手机类的成员变量和成员方法

 002 定义学生类和学生测试类,并使用成员变量及成员方法

思路:

实现:

2、对象内存图

2.1 单个对象的内存图

2.2 多个对象的内存图

2.3 多个对象的指向相同内存图

3、成员变量和局部变量

3.1 成员变量和局部变量概念

3.2 成员变量和局部变量区别

4、封装

4.1 private关键字

why出现?

private关键字概念:

  • 是一个权限修饰符 
  • 可以修饰成员(成员变量和成员方法)
  • 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问

 4.2 private关键字的使用

代码:

学生类:

 学生测试类:

4.3 this关键字

引入:

4.3.1 this概念

this修饰的变量即为成员变量

4.3.2 this使用场景

 解决:局部变量隐藏成员变量问题(同名问题)

4.3.3 this指对象引用
  • 代表所在类的对象引用
  • 方法被哪个对象调用,this就代表哪个对象

4.4 this内存原理

4.5 封装

4.5.1 封装概述

4.5.2 封装原则

4.5.3 封装的好处
  • 安全性
  • 复用性

5、构造方法 

5.1 概述

构造方法是一种特殊的方法,作用是用于创建对象。

构造方法的名称和类的名称相同,修饰符一般为public

5.2 构造方法功能

构造方法是完成对象数据的初始化

  • 作用:创建对象
  • 功能:完成对象数据的初始化 

5.3 案例

学生类:

测试类:

 5.4 构造方法注意事项

5.5 标准类的制作🌟🌟

给成员变量赋值两种方法

代码:

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

求两个向量之间的夹角

求两个向量之间的夹角 介绍Unity的API求向量夹角Vector3.AngleVector3.SignedAngle 自定义获取方法0-360度的夹角 总结 介绍 求两个向量之间的夹角方法有很多,比如说Unity中的Vector3.Angle,Vector3.SignedAngle等方法,具体在什么情况下使用…

Juniper Netscreen208 防火墙 忘记密码恢复出厂配置(同时会清空配置)

0. 遇到的Juniper防火墙忘记密码的情况和2种方法 之前有Juniper SRX3400 防火墙,忘记密码,参考Juniper srx 防火墙密码恢复进行了恢复,但该方法对Juniper Netscreen208 防火墙不起作用,按空格键中断启动后,不会出现lo…

React入门之React_使用es5和es6语法渲染和添加class

React入门 //react的核心库 <script src"https://cdn.jsdelivr.net/npm/react17/umd/react.development.js"></script> //react操作dom的核心库&#xff0c;类似于jquery <script src"https://cdn.jsdelivr.net/npm/react-dom17/umd/react-dom.…

SuMa++代码阅读记录

文章目录 流程梳理1. 打开点云文件2. 播放点云数据3. SUMA部分的流程图说明3.1 SUMA核心流程分析&#xff0c;其中也包含部分SUMA3.2 preprocess部分3.3 updatePose部分3.4 updateMap部分 4. SUMA中有关语义模型rangenet的部分4.1 下面是解析模型引擎4.2 下面这块是从配置文件中…

力扣细节题:判断是否为平衡二叉树

经典题&#xff0c;需要记忆&#xff0c;且注意fabs和fmax函数的使用 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/int deep(struct TreeNode*root){if(rootNULL){return 0;}r…

SpringBoot多数据源配置(MySql、Oracle)

一、依赖 <!-- dynamic-datasource 多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId></dependency><!--oracle驱动--><dependency><groupI…

【探索AI】探索未来-计算机专业必看的几部电影

计算机专业必看的几部电影 计算机专业必看的几部电影&#xff0c;就像一场精彩的编程盛宴&#xff01;《黑客帝国》让你穿越虚拟世界&#xff0c;感受高科技的魅力&#xff1b;《社交网络》揭示了互联网巨头的创业之路&#xff0c;《源代码》带你穿越时间解救世界&#xff0c;…

价格腰斩:腾讯云和阿里云服务器优惠价格对比

2024年阿里云服务器和腾讯云服务器价格战已经打响&#xff0c;阿里云服务器优惠61元一年起&#xff0c;腾讯云服务器62元一年&#xff0c;2核2G3M、2核4G、4核8G、8核16G、16核32G、16核64G等配置价格对比&#xff0c;阿腾云atengyun.com整理阿里云和腾讯云服务器详细配置价格表…

Huggingface初上手即ERNIE-gram句子相似性实战

大模型如火如荼的今天&#xff0c;不学点语言模型&#xff08;LM&#xff09;相关的技术实在是说不过去了。只不过由于过往项目用到LM较少&#xff0c;所以学习也主要停留在直面——动眼不动手的水平。Huggingface&#xff08;HF&#xff09;也是现在搞LM离不开的工具了。 出于…

javaee教程郑阿奇,一线互联网架构师筑基必备技能之Java篇

一、什么情况下会发生栈内存溢出&#xff1f; 1、栈是线程私有的&#xff0c;栈的生命周期和线程一样&#xff0c;每个方法在执行的时候就会创建一个栈帧&#xff0c;它包含局部变量表、操作数栈、动态链接、方法出口等信息&#xff0c;局部变量表又包括基本数据类型和对象的引…

【InternLM 实战营笔记】XTuner 大模型单卡低成本微调实战

XTuner概述 一个大语言模型微调工具箱。由 MMRazor 和 MMDeploy 联合开发。 支持的开源LLM (2023.11.01) InternLM Llama&#xff0c;Llama2 ChatGLM2&#xff0c;ChatGLM3 Qwen Baichuan&#xff0c;Baichuan2 Zephyr 特色 傻瓜化&#xff1a; 以 配置文件 的形式封装了大…

Springboot中ApplicationContextInitializer的使用及源码分析

文章目录 一、认识ApplicationContextInitializer1、ApplicationContextInitializer的作用2、认识ApplicationContextInitializer接口3、ApplicationContextInitializer的常用用法&#xff08;1&#xff09;注册BeanFactoryPostProcessor&#xff08;2&#xff09;注册Applicat…

【程序员的金三银四求职宝典】《春风拂面,代码在手:程序员的金三银四求职指南》

《春风拂面&#xff0c;代码在手&#xff1a;程序员的金三银四求职指南》 随着春风的轻拂&#xff0c;大地复苏&#xff0c;万物更新。在这个生机勃勃的季节&#xff0c;不仅自然界在迎接新生&#xff0c;对于广大的程序员朋友们而言&#xff0c;这也是一个全新的开始——金三…

【刷题】 Leetcode 1022.从根到叶的二进制数之和

刷题 1022.从根到叶的二进制数之和题目描述&#xff1a;思路一&#xff08;dfs深搜万能版&#xff09;思路二 &#xff08;栈迭代巧解版&#xff09;总结 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇文章见&#xff…

通过X射线光刻在指尖大小的芯片中产生高精度微光学元件的晶圆级制造

引言 在过去的二十年中&#xff0c;市场对大量N灰度级三维微纳米元件的需求一直很活跃。基于铅笔束的光刻技术&#xff0c;我们可以生产出精确的组件&#xff0c;但目前需要更长的时间去处理。使用X射线光刻制作的典型高纵横比结构&#xff0c;对膜的粗糙度或沉积在X射线掩模中…

C++ 网络编程学习三

C 网络编程学习三 用智能指针延长session的生命周期处理粘包问题 用智能指针延长session的生命周期 问题&#xff1a; 客户端断开后&#xff1a;会触发服务器对应session的写或读事件&#xff0c;由于是异步编程&#xff0c;需要在回调中对读写事件进行处理。客户端断开&#…

【Kubernetes】K3S

目录 前言一、原理单体架构高可用架构 二、初始化1.配置yum源2.关掉防火墙3.关掉selinux4. 修改内核参数5.关掉swap交换分区 三、安装master节点1. 安装container2.启动master服务 四、安装node节点五、卸载六、总结 前言 各位小伙伴们&#xff0c;大家好&#xff0c;小涛又来…

力扣每日一题 使二叉树所有路径值相等的最小代价 满二叉树 贪心

Problem: 2673. 使二叉树所有路径值相等的最小代价 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 灵神题解 复杂度 ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public int minIncrements(int …

InnoDB锁介绍

本文主要介绍MySQL InnoDB引擎中的各种锁策略和锁类别&#xff0c;并针对记录锁做演示以便于理解。 以下内容适用于MySQL 8.0版本。 读写锁 处理并发读/写访问的系统通常实现一个由两种锁类型组成的锁系统。这两种锁通常被称为共享锁(shared lock)和排他锁(exclusive lock)&…

Java玩转《啊哈算法》暴力枚举之坑爹奥数

每个笨蛋都会随时准备杀了自己&#xff0c;这是最怯懦&#xff0c;也是最简单的出路。 路 缘起代码地址枚举题1题2题2 - Plus完整代码 缘起 各位小伙伴们好呀&#xff01;本人最近看了下《啊哈算法》&#xff0c;写的确实不错。 但稍显遗憾的是&#xff0c;书籍示例代码是c语…
最新文章