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

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.rhkb.cn/news/86586.html

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

相关文章

fork创建多个子进程

fork创建多个子进程 示例代码 fork1.c #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h>int main(int argc,char **argv) {int i, j;pid_t pid;for (i 0; i < 3; i){pid fork();if (pid < 0){perror(&q…

Python 11道字典练习题

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 有字典 dic {“k1”: “v1”, “k2”: “v2”, “k3”: “v3”}&#xff0c;实现以下功能&#xff1a; 1、遍历字典 dic 中所有的key 参考答案&#xff1a; dic {k1: v1,k2:v2,k3:v3}for k in dic.keys():print(k)2、遍历…

Apollo让自动驾驶如此简单

前言&#xff1a; 最近被新能源的电价闹的不行&#xff0c;买了电车的直呼上当了、不香了。但电车吸引人不只是公里油耗低&#xff0c;还有良好的驾车使用感。比如辅助驾驶、甚至是自动驾驶。今天来介绍一个头部自动驾驶平台Apollo&#xff0c;Apollo是一个开源的、自动驾驶的软…

在SpringMVC环境下json字符串与对象转化 配置和对象方法

目录 1..json的使用 字符串与对象转化 2.通过spring配置的形式直接接受json格式字符串转化 1..json的使用 字符串与对象转化 1.导入一个json的jar坐标 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</…

el-dialog嵌套,修改内层el-dialog样式(自定义样式)

el-dialog嵌套使用时,内层的el-dialog要添加append-to-body属性 给内层的el-dialog添加custom-class属性,添加自定义类名 <el-dialog:visible.sync"dialogVisible"append-to-bodycustom-class"tree-cesium-container"><span>这是一段信息<…

详细教程:如何搭建废品回收小程序

废品回收是一项环保举措&#xff0c;通过回收和再利用废弃物品&#xff0c;可以减少资源浪费和环境污染。近年来&#xff0c;随着智能手机的普及&#xff0c;小程序成为了推广和运营的重要工具。本文将详细介绍如何搭建一个废品回收小程序。 1. 进入乔拓云网后台 首先&#xf…

深入浅出cgroup

一、什么是cgroup Cgroup是linux内核用来控制系统资源的机制&#xff0c;它将操作系统中的所有进程以组为单位划分&#xff0c;给这一组进程定义对某一类资源特定的访问权限。Cgroup用子系统&#xff08;subsystem&#xff09;来描述所能控制的系统资源&#xff0c;子系统具有…

头条移动端项目Day02—— app端文章查看、静态化freemarker、分布式文件系统minIO

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

OceanBase X Flink 基于原生分布式数据库构建实时计算解决方案

摘要&#xff1a;本文整理自 OceanBase 架构师周跃跃&#xff0c;在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分&#xff1a; 分布式数据库 OceanBase 关键技术解读 生态对接以及典型应用场景 OceanBase X Flink 在游戏行业实践 未来展望 点击…

机器学习深度学习——seq2seq实现机器翻译(数据集处理)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——从编码器-解码器架构到seq2seq&#xff08;机器翻译&#xff09; &#x1f4da;订阅专栏&#xff1a;机…

(el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

Ⅰ、Element-plus 提供的 Form 表单组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供 Form 表单组件情况&#xff1a; 其一、Element-plus 自提供的 Form 代码情况为(示例的代码)&#xff1a; // Element-plus 自提供的代码&#xff1a; // 此时是使用了 ts 语言环…

机器学习深度学习——从编码器-解码器架构到seq2seq(机器翻译)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——注意力提示、注意力池化&#xff08;核回归&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习&a…

使用 prometheus client SDK 暴露指标

目录 1. 使用 prometheus client SDK 暴露指标1.1. How Go exposition works1.2. Adding your own metrics1.3. Other Go client features 2. Golang Application monitoring using Prometheus2.1. Metrics and Labels2.2. Metrics Types2.2.1. Counters:2.2.2. Gauges:2.2.3. …

写一个函数返回参数二进制中 1 的个数(c语言三种实现方法)

&#xff08;本文旨在自己做题时的总结&#xff0c;我会给出不同的解法&#xff0c;后面如果碰到新的题目还会加入其中&#xff0c;等于是我自己的题库。 1.写一个函数返回参数二进制中 1 的个数。 比如&#xff1a; 15 0000 1111 4 个 1 方法一&#xff1a; #include…

基于 eclipse-temurin 镜像部署spring boot 应用

基于 eclipse-temurin 镜像部署spring boot 应用 使用场景示例项目 使用场景 在CI流程中&#xff0c;一般都会集成 打包&#xff0c;构建镜像&#xff0c;分发&#xff0c;启动容器之类的流程&#xff1b; 这里提供一个示例&#xff0c;进攻参考 示例项目 项目结构如下 run…

Django基础

1.Django基础 路由系统视图模板静态文件和媒体文件中间件ORM&#xff08;时间&#xff09; 2.路由系统 本质上&#xff1a;URL和函数的对应关系。 2.1 传统的路由 from django.contrib import admin from django.urls import path from apps.web import viewsurlpatterns …

体渲染原理及WebGL实现【Volume Rendering】

体渲染&#xff08;Volume Rendering&#xff09;是NeRF神经场辐射AI模型的基础&#xff0c;与传统渲染使用三角形来显示 3D 图形不同&#xff0c;体渲染使用其他方法&#xff0c;例如体积光线投射 (Volume Ray Casting)。本文介绍体渲染的原理并提供Three.js实现代码&#xff…

【Nginx】Nginx网站服务

国外主流还是使用apache&#xff1b;国内现在主流是nginx&#xff08;并发能力强&#xff0c;相对稳定&#xff09; nginx&#xff1a;高新能、轻量级的web服务软件 特点&#xff1a; 1.稳定性高&#xff08;没apache稳&#xff09;&#xff1b; 2.系统资源消耗比较低&#xf…

Windows电脑快速搭建FTP服务教程

FTP介绍 FTP&#xff08;File Transfer Protocol&#xff09;是一种用于在计算机网络上进行文件传输的标准协议。它提供了一种可靠的、基于客户端-服务器模型的方式来将文件从一个主机传输到另一个主机。在本文中&#xff0c;我将详细介绍FTP的工作原理、数据传输模式以及常见…

从Spring源码看Spring如何解决循环引用的问题

Spring如何解决循环引用的问题 关于循环引用&#xff0c;首先说一个结论&#xff1a; Spring能够解决的情况为&#xff1a;两个对象都是单实例、且通过set方法进行注入。 两个对象都是单实例&#xff0c;通过构造方法进行注入&#xff0c;Spring不能进行循环引用问题&#x…