“掌握类与对象,点亮编程之路“(下)

news2024/11/25 21:14:30
White graces:个人主页

🙉专栏推荐:《C语言入门知识》🙉

🙉 内容推荐:“掌握类与对象,点亮编程之路“(上)🙉

🐹今日诗词:春风得意马蹄疾,一日看尽长安花🐹


目录

🌸思维导图🌸

🌸一.封装🌸

🌸二.包🌸

🍎1.包的概念🍎

🍎2.如何访问包中的类?🍎

🍎3.如何自定义包🍎

🌳(1).自定义包的创建🌳

🌳(2).自定义包的命名🌳

🍎4.包的访问权限🍎

🌳(1).private限定符🌳

🌳(2).default限定符🌳

🌳(3).protected限定符🌳

🌳(4).public限定符🌳

🌳(5).访问权限举例(必看)🌳

❗❗温馨提示❗❗

🍎5.static修饰成员变量🍎

🌳(1).静态成员变量的特点🌳

🌳(2).静态成员变量的访问🌳

🍎 6.static修饰成员方法🍎

🌳(1).静态成员方法的特点🌳

🌳(2).静态成员方法的访问🌳

🌸四.结语+美图分享🌸


🌸思维导图🌸

 

🌸一.封装🌸

📚Java将某些方法隐藏起来,我们不需要了解方法如何实现,使用时调用即可。

📚比如电脑开机,我们只需要按下开机键,不需要了解机器如何工作的。

🌸二.包🌸

🍎1.包的概念🍎

📚将不同的类(类里面有许多方法)收集组合,放在一起就形成一个

📚和C语言类似,我们需要使用这个方法,直接调用这个包就可以了。

🍎2.如何访问包中的类?🍎

📚使用包里面的类,Java使用import关键字来导入包中的类

📚下面演示:如何得到一个时间戳

📚import.java.util.*;          这是时间戳类所在的包,这个包里还包括其他类,这个就是调用包里所有类的内容。

📚import.java.util.Date;   这个就是时间戳在包中具体的位置,不包括其他类了,这个就是调用指定类的内容。

📚想要使用Date类,上面两种写法都正确,建议写下面这种,因为其他包也可能会存在Date类

import java.util.Date; //时间戳类所在的包,这个包里还包括其他类
public class Java {
    public static void main(String[] args) {
        Date date = new Date();   //调用时间戳类创建一个变量
        System.out.println(date.getTime());  //getTime():返回一个表示当前日期时间的时间戳。
    }
}

🍎3.如何自定义包🍎

📚除了Java自带的包,我们也可以自己定义一个包

🌳(1).自定义包的创建🌳

🌳(2).自定义包的命名🌳

📗基本规则:一般将域名颠倒命名,比如:com.ikun.www

❗❗温馨提示❗❗

上面我们说到不同包可能会存在相同名字的类

所以不同包之间类的名字可以相同

🍎4.包的访问权限🍎

📚我们知道包是可以被调用的,而包和包之间也可以相互访问,需要用到访问修饰限定符

📚访问修饰限定符也是有权限划分的,我们先看下图大致了解一下,待会仔细分析

📚子类和非子类涉及到继承的知识,这里插个眼,以后详细探讨

📚我们先看几个限定符 

🌳(1).private限定符🌳

📗访问范围:1.同一包同一类

📗提示:private英文是私人的,所以被private修饰的,

📗         只有自己包里的同一个类能访问(一个包可以有许多类)

🌳(2).default限定符🌳

📗访问范围:1.同一包同一类

📗                  2.同一包不同类

📗提示:上面代码private换成default就不会出现问题了

📗           defalut支持同一包的不同类

🌳(3).protected限定符🌳

📗访问范围:1.同一包同一类

📗                  2.同一包不同类

📗                  3.不同包的子类(和继承有关) 参考链接:

🌳(4).public限定符🌳

📗访问范围:全部都可以

🌳(5).访问权限举例(必看)🌳

❗❗温馨提示❗❗

类里面的成员变量一般用private修饰(安全性更高)

               类里面的方法一般都用public修饰              

🍎5.static修饰成员变量🍎

static修饰的变量被称作静态成员变量

🌳(1).静态成员变量的特点🌳

📗只能在创建的时候初始化一次

📗不属于某个特定的对象,是所有对象共有的变量

🌳(2).静态成员变量的访问🌳

📗方法一:通过变量名访问(和正常访问一样)

📗方法二:通过类名访问(最好使用这种方式)

📗我们来看下面的例子⬇️⬇️

public class Test1 {
    public int a;
    public static int b = 114514; //static修饰的变量只初始化一次
    public Test1(int a) {
        this.a = a;
    }
}
package ikun2;
import ikun1.Test1;
public class Test2 {
    public static void main(String[] args) {
        Test1 test1 = new Test1(1);
        Test1 test2 = new Test1(2);
        System.out.println(test1.b);  //变量名访问
        System.out.println(Test1.b);  //类名访问
        System.out.println(test2.b);  //b变量是test1和test2对象所共有的
        System.out.println(test1.a);  //而a是两个变量特有的
        System.out.println(test2.a);
    }
}

📗运行结果

🍎 6.static修饰成员方法🍎

📚static修饰的方法被称作静态成员方法

🌳(1).静态成员方法的特点🌳

📗不属于某个特定的对象,是所有对象共有的方法

📗静态成员方法不能使用非静态成员变量和方法,使用动态就与静态冲突了

🌳(2).静态成员方法的访问🌳

📗方法一:通过变量名访问(和正常访问一样)

📗方法二:通过类名访问(最好使用这种方式)

📗我们来看下面的例子⬇️⬇️

 📗运行结果

🧡🧡🧡🧡🧡🧡🧡🧡🧡

🧡🧡🧡以上就是这篇文章的所有内容了🧡🧡🧡

🧡🧡🧡谢谢阅读本文,希望你能从中获得一些启发和思考 🧡🧡🧡



🌸四.结语+美图分享🌸

✨🎆谢谢你的阅读和耐心!祝愿你在编程的道路上取得更多的成功与喜悦!"🎆✨🎄

⭐️点赞收藏加关注,学习知识不迷路⭐️

🎉✔️💪🎉✔️💪🎉✔️💪🎉✔️💪🎉

👍😏⛳️ 点赞☀️收藏 ⭐️ 关注!😏👍

👍😏⛳️ 点赞☀️收藏 ⭐️ 关注!😏👍

👍😏⛳️ 点赞☀️收藏 ⭐️ 关注!😏👍

🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【十】PageHelper 插件源码分析

PageHelper 插件源码分析 简介: 在开发中经常使用到pagehelper分页插件,一直也只是使用没有深入去分析,今天花时间来研究一下pagehelper的实现原理的,阅读优秀的开源项目总是能有很多收获。 一、源码的获取 我们在git仓库中搜索可…

AI语音助理来了,我们还需要手机吗?

你是如何召唤苹果手机的语音助手Siri的? 已经12岁高龄的Siri,它主要提供了三个类型的“辅助功能”。 1、调动声音、闹钟、备忘录等系统基础应用的控制能力。比如:Hi Siri,明早两点我有个2亿美金的合同要签,记得提醒我。 2、调用第…

AT89C51单片机实现单片机串口互动(中断方式,单片机--单片机,应答)

说一下功能:客户机发送0x01到服务机 2服务单片机应答0xf2到客户机 3客户机接收到0xf2,发送信息153432这6个数字到服务机 4client发送完信息后发送0xaa结束通信 5server接收到0xaa后回复0xaa结束通信,从此老死不相往来 看代码: //发送端…

Arraylist集合

保存数据会经常使用到数组,但数组存在以下几个缺陷: 长度固定;保存的必须为同一类型的元素,(基本数据类型,或引用数据类型);使用数组进行增加元素的步骤比较麻烦; 这个时候就需要用一…

24届近3年南京信息工程大学自动化考研院校分析

今天给大家带来的是南京信息工程大学控制考研分析 满满干货~还不快快点赞收藏 一、南京信息工程大学 学校简介 南京信息工程大学位于南京江北新区,是一所以大气科学为特色的全国重点大学,由江苏省人民政府、中华人民共和国教育部、中国气…

【AI理论学习】手把手利用PyTorch实现扩散模型DDPM

手把手利用PyTorch实现扩散模型DDPM DDPM代码实现神经网络定义辅助函数位置嵌入ResNet block注意力模块分组归一化Conditional U-Net 定义前向扩散过程定义PyTorch数据集DataLoader采样训练模型采样后续阅读 参考链接 上一篇博文已经手把手推导了扩散模型DDPM,本文利…

1. 消息队列

消息队列 1.1. MQ 的相关概念 1.1.1. 什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在…

性能测试—Jmeter工具

文章目录 性能测试1. 术语介绍2. 方法3. 应用场景4. 工具(Jmeter)4.1 介绍4.2 元件和组件4.2.2 元件4.2.1 组件 4.3 作用域4.4 参数化4.5 执行脚本 性能测试 1. 术语介绍 响应时间(Response time):对请求作出响应所需要的时间。 在互联网上对…

Tik Tok娱乐+电商MCN怎么做?

在美国外的热门市场中,TikTok 主要做的区域市场包括中东、拉美、欧洲和东亚,而这里面适合做电商的其实并不多。 欧洲、东亚都属于成熟市场,且 TikTok 本身在欧洲面临 DSA 法案更严格的审查,与在英国相同,欧洲各市场消…

【二分+贪心】CF1622 C

Problem - 1622C - Codeforces 题意: 思路: 首先,观察样例可知,肯定是把原本的最小值减到某个值,然后再复制几次 复制的时候肯定是从大到小复制 那把最小值减到哪个值是不确定的,考虑枚举这个值&#x…

并发编程--------JUC集合

并发集合 一、ConcurrentHashMap 1.1 存储结构 ConcurrentHashMap是线程安全的HashMap ConcurrentHashMap在JDK1.8中是以CASsynchronized实现的线程安全 CAS:在没有hash冲突时(Node要放在数组上时) synchronized:在出现hash…

STM32CubeMX之freeRTOS事件组

当有多个判断,才会执行的时候,就会有事件组 事件组就是24个标志位的组合,或操作或者与操作就可以操作其 例如发射导弹 需要很多人都同意才能发送 V1版本无法自动添加事件组 这里手动创建事件组 这里是基本的使用 置1操作 这里进行事件组的…

初创体验版彩虹知识付费商城源码 V3.4支持二级分类,多级分销,秒杀,砍价,团购,首页继续浏览

最新彩虹知识付费商城初创体验版,支持二级分类,多级分销,秒杀,砍价,团购,首页继续浏览,分站个人虚拟余额自定义,最新批量对接,批量下载图片,批量替换标题&…

工厂物流管理:提升生产效率的关键驱动力

工厂物流管理在现代制造业中扮演着至关重要的角色。它涉及到物料的采购、生产过程中的物料运输和仓储管理,以及最终产品的分发。 1. 定义和重要性: 工厂物流管理是指通过合理规划、组织和控制物流活动,确保物料和产品在生产过程中的高效流动。它的目标是…

【Java多线程学习7】Java线程池技术

线程池技术 一、什么是线程池 线程池顾名思义是管理一组线程的池子。当有任务要处理时,直接从线程池中获取线程来处理,处理完之后线程不会立即销毁,而是等待下一个任务。 二、为什么要使用线程池? 线程池的作用? 1、降低资源…

【大数据】Flink 详解(二):核心篇 Ⅲ

Flink 详解(二):核心篇 Ⅲ 29、Flink 通过什么实现可靠的容错机制? Flink 使用 轻量级分布式快照,设计检查点(checkpoint)实现可靠容错。 30、什么是 Checkpoin 检查点? Checkpoint …

四化智造MES(API)与金蝶云星空对接集成派工作业打通生产订单新增

四化智造MES(API)与金蝶云星空对接集成派工作业打通生产订单新增 对接系统:四化智造MES(API) MES建立统一平台上通过物料防错防错、流程防错、生产统计、异常处理、信息采集和全流程追溯等精益生产和精细化管理&#x…

mybatis如何生成和执行动态sql

文章目录 1. 相关代码2. SQL 语句解析全流程2.1 涉及到的重要类2.2 解析标签2.2.1 \<include>2.2.2 \<selectKey>2.2.3 处理 SQL 语句 3. 获取真正执行的sql 1. 相关代码 package com.boge.mapper;import com.boge.pojo.User;import java.util.List;public interf…

情感资源日记Resource Diary

什么是 Resource Diary &#xff1f; Resource Diary 是自托管的情感资源日记&#xff0c;允许用户跟踪特定任务的情感反应以进行趋势识别。 按照作者的设计&#xff0c;对每个任务&#xff0c;通过 /- 号来表达任务完成后的情绪&#xff0c;等级从 0 到 5 &#xff0c;其中&am…

大语言模型之三 InstructGPT训练过程

大语言模型 GPT历史文章中简介的大语言模型的的发展史&#xff0c;并且简要介绍了大语言模型的训练过程&#xff0c;本篇文章详细阐述训练的细节和相关的算法。 2020年后全球互联网大厂、AI创业公司研发了不少AI超大模型&#xff08;百亿甚至千亿参数&#xff09;&#xff0c;…