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

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.mzph.cn/news/33134.shtml

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

相关文章

mysql-数据库-在表中添加数据三种方式

创建数据库和表 mysql> create database mydb4; Query OK, 1 row affected (0.01 sec)mysql> use mydb4; Database changed mysql> create table stu_info(-> stu_id int primary key auto_increment comment 学号,-> stu_name varchar(30) not null comment …

flume系列之:监控zookeeper的flume配置写入节点,新增和删除flume agent节点,通过ansible自动部署和卸载flume agent

flume系列之:监控zookeeper的flume配置写入节点,新增和删除flume agent节点,通过ansible自动部署和卸载flume agent 一、相关技术二、流程梳理三、部署和删除flume agent效果四、监控zookeeper节点五、新增zookeeper节点部署flume agent六、删除zookeeper节点删除flume agen…

计算机网络和 Internet 的基本概念

计算机网络和互联网(Internet)是现代计算机科技中的重要概念。它们为计算机之间的通信和数据交换提供了基础架构。以下是它们的基本概念: **计算机网络:** 计算机网络是指将多台计算机连接在一起,以便它们可以共享资…

vscode里面报:‘xxx‘ is assigned a value but never used.解决办法

const setCurPage: React.Dispatch<React.SetStateAction<number>> 已声明“setCurPage”&#xff0c;但从未读取其值。ts(6133) setCurPage is assigned a value but never used.eslinttypescript-eslint/no-unused-vars 出现这个报错是eslint导致的&#xff0…

P450进阶款无人机室内定位功能研测

在以往的Prometheus 450&#xff08;P450&#xff09;无人机上&#xff0c;我们搭载的是Intel Realsense T265定位模块&#xff0c;使用USB连接方式挂载到机载计算机allspark上&#xff0c;通过机载上SDK驱动T265运行并输出SLAM信息&#xff0c;以此来实现室内定位功能。 为进…

倒数纪念日-生日提醒事项时间管理倒计时软件

倒数纪念日​​​​​​​是一款功能强大的时间管理、事项提醒软件。帮你更好的管理倒数日、纪念日、生日、节假日、还款日等各种重要日子&#xff0c;通知提醒&#xff0c;让你不再错过生命中的每一个重要日子。 【功能简介】 分类管理&#xff1a;倒数日、纪念日、自定义分类…

腾讯云10万日活服务器配置怎么选?费用多少?

日活10万的小程序或APP使用腾讯云服务器配置怎么选&#xff1f;腾讯云10万人服务器配置多少钱一年&#xff1f;可以选择腾讯云4核8G12M轻量应用服务器或8核16G18M服务器&#xff0c;云服务器CVM的话可以选择标准型S5实例&#xff0c;腾讯云服务器网来详细说下腾讯云日活10万服务…

AJAX-笔记(持续更新中)

文章目录 Day1 Ajax入门1.AJAX概念和axios的使用2. 认识URL3.URL的查询参数4.常用的请求方法和数据提交5.HTTP协议-报文6.接口文档7.form-serialize插件8.案例用户登录 Day2 Ajax综合案bootstrap弹框图书管理图片上传更换背景个人信息设置 Day3 AJAX原理XMLHttpRequestPromise封…

SQL常见命令语句

1.连接数据库 mysql (-h IP) -u root -p 密码2.查看数据库 show databases3.使用数据库 use db_name4.查看表 show tables [from db_name]5.查看表结构 desc tb_name6.创建、删除、选择数据库 create database db_namedrop database db_nameuse db_name7.数据类型 参考链…

kvm not all arguments converted during string

kylin virt-manager 远程镜像制作问题记录(not all arguments ) 项目场景&#xff1a; 服务器端安装的OS版本&#xff1a;Kylin-Server-10-SP1-Release-Build20-20210518-arm64-2021-05-18 客户端安装的OS版本&#xff1a;Kylin-Server-10-SP1-Release-Build20-20210518-x86_…

【数据结构•堆】序列和的前n小元素(堆排序)

题目描述 问题&#xff1a;序列和的前n小元素 给出两个长度为n的有序表A和B, 在A和B中各任取一个, 可以得到 n^2 个和. 求这些和最小的n个。 输入输出格式 输入格式&#xff1a; 输入数据共三行。   第一行&#xff0c;一个整数值n &#xff08; n < 10^4 &#xff09…

rknn-toolkit安装的一点感想

rknn-toolkit装了好多次&#xff0c;总是会报错&#xff0c;终于尝试出了一个版本可以用的。&#xff08;注意windows和linux上都能用&#xff09; rknn-toolkit: v1.7.1&#xff1a; cuda 10.1 python3.6 pytorch1.5.1 opencv-python3.2.0.8 tensorflow1.14.0模型导出的时候…

使用 API Gateway Integrator 在 Quarkus 中实施适用于 AWS Lambda 的 OpenAPI

AWS API Gateway 集成使得使用符合 OpenAPI 标准的 Lambda Function 轻松实现 REST API。 关于开放API 它是一个 允许以标准方式描述 REST API 的规范。 OpenAPI规范 (OAS) 为 REST API 定义了与编程语言无关的标准接口描述。这使得人类和计算机都可以发现和理解服务的功能&am…

HTML5基础

1、HTML5概述 2014年10月28日&#xff0c;W3C&#xff08;world wide web consortium&#xff0c;万维网联盟&#xff09;的HTML工作组发布了HTML5的正式推荐标准。HTML5作为构建开放Web平台的核心&#xff0c;增加了支持Web应用的许多新特性&#xff0c;以及更符合开发者使用…

git 使用远端代码强制覆盖本地

有时候会遇到这种情景&#xff0c;我们本地的代码不需要了&#xff0c;需要使用远端的代码强制覆盖&#xff0c;这时候可以使用下面的命令 git fetch --all然后再执行下面的命令&#xff0c;重置为远端的代码&#xff0c;即使用远端的代码将本地覆盖 origin/远端分之名 git re…

编译Linux的时候出现 Restart config...

环境 buildroot 问题 在buildroot路径下执行 make linux-rebuild 出现了Restart config… 的问题 原因 我在修改linux源码的时候&#xff0c;在没有指定ARCH架构的情况下&#xff0c; 直接去linux源码目录(output/build/linux/)下执行了 make menuconfig并覆盖了原来的.c…

opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()

点到轮廓的距离 在 OpenCV 中&#xff0c;函数 cv2.pointPolygonTest()被用来计算点到多边形&#xff08;轮廓&#xff09;的最短距离&#xff08;也 就是垂线距离&#xff09;&#xff0c;这个计算过程又称点和多边形的关系测试。该函数的语法格式为&#xff1a; retval cv2…

8、翻转链表

整体思路&#xff1a;将链表指针的next改为pre&#xff0c;将指向后面的改为指向前面的。 即1→2→3→4→null改为null←1←2←3←4。 伪代码&#xff08;双指针思路&#xff09;&#xff1a; cur head; pre null; //初始化两个指针 while(cur) {temp cur -> next;cur…

备战秋招012(20230808)

文章目录 前言一、今天学习了什么&#xff1f;二、动态规划1.概念2.题目 总结 前言 提示&#xff1a;这里为每天自己的学习内容心情总结&#xff1b; Learn By Doing&#xff0c;Now or Never&#xff0c;Writing is organized thinking. 提示&#xff1a;以下是本篇文章正文…

通过 EPOLL 解决客户端同时连接多服务器的问题

项目需求是 程序上 同时配置了多个服务端 设备 每隔一段时间需要 比如1分钟 连一下服务器看下是否连通 并将结果上报给平台 原来是用线程池来做的 具体大概就是 定时器到了之后 遍历设备列表 找到设备之后 通过 socket连接 发送一个指令 等待服务器返回 用来检查是…