java第二十一课 —— 快捷键,包,访问修饰符

IDEA 快捷键

  1. 删除行:Ctrl + Y
  2. 复制行:Ctrl + D
  3. 补全代码:Alt + /
  4. 添加取消注释:Ctrl + /
  5. 导入该行需要的类:Alt + Enter
  6. 快速格式化代码:Ctrl + Shift + L
  7. 快速运行程序:Ctrl + Shift + F10
  8. 生成构造器:Alt + Insert
  9. 查看一个类的层级关系:Ctrl + H
  10. 自动分配变量名:在后面.var

IDEA 模板 / 自定义模板

在这里插入图片描述

包的三大作用

  1. 区分相同名字的类
  2. 当类很多时,可以很好的管理类 [看Java API 文档]
  3. 控制访问范围

包的基本语法

package com.hspedu;

说明:

  1. package 关键字,表示打包。
  2. com.hspedu; 表示包名。

包的本质

实际上就是创建不同的文件夹 / 目录来保存类文件,示意图如下:

在这里插入图片描述

包的命名

命名规则

只能包含数字、字母、下划线、小圆点,但不能用数字开头,不能是关键字或保留字。

如:

demo.class.exec1 //错误,包含关键字
demo.12a  //错误,数字开头
demo.ab12.oa  //正确

命名规范

一般是小写字母 + 小圆点一般是 com.公司名.项目名.业务模块名

比如:

com.hspedu.oa.model;
com.hspedu.oa.controller;
举例:
com.sina.crm.user //用户模块
com.sina.crm.order //订单模块
com.sina.crm.utils //工具类

常用的包

java.lang.*  //lang包是基本包,默认引入,不需要再引入
java.util.*  //util包,系统提供的工具包,工具类,使用 Scanner
java.net.*   //网络包,网络开发
java.awt.*   //是做java的界面开发,GUI

如何引入包

语法: import 包;

我们引入一个包的主要目的是要使用该包下的类。

比如:

  1. import java.util.Scanner; // 就只是引入一个类 Scanner。

  2. import java.util.*; // 表示将 java.util 包所有都引入。我们需要使用到哪个类,就导入哪个类即可,不建议使用 * 导入

包的注意事项和细节

  1. package 的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一个 package。
  2. import 指令,位置放在 package 的下面,要求在类定义前面,可以有多句且没有顺序。

类定义的进一步完善

在这里插入图片描述

访问修饰符

基本介绍

java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):

  1. 公开级别:用 public 修饰,对外公开
  2. 受保护级别:用 protected 修饰,对子类和同一个包中的类公开
  3. 默认级别:没有修饰符号,向同一个包的类公开
  4. 私有级别:用 private 修饰,只有类本身可以访问,不对外公开

4 种访问修饰符的访问范围:

在这里插入图片描述

使用的注意事项

  1. 修饰符可以用来修饰类中的属性,成员方法以及类
  2. 只有默认的和 public 才能修饰!并且遵循上述访问权限的特点。
  3. 成员方法的访问规则和属性完全一样。

例子:

在这里插入图片描述

在 modifier 包下:

  1. A 类
package com.hspedu.modifier;public class A {//四个属性,分别使用不同的访问修饰符来修饰public int n1 = 100;protected int n2 = 200;int n3 = 300;private int n4 = 400;//在同一个类中,可以访问 public protected 默认 private 修饰的属性和方法public void m1(){System.out.println("n1 = " + n1 + " n2 = " + n2 + " n3 = " + n3 + " n4 = " + n4);//属性,都可以访问}protected void m2(){}void m3(){}private void m4(){}public void hi(){m1();m2();m3();m4();//成员方法,都可以访问}
}
  1. B 类
package com.hspedu.modifier;public class B {public void say(){A a = new A();//在同一个包下,可以访问 public,protected 和 默认修饰的属性或方法,不能访问 private 属性或方法。System.out.println("n1 = " + a.n1 + " n2 = " + a.n2 + " n3 = " + a.n3);//属性,不能访问 a.n4a.m1();a.m2();a.m3();//成员方法,不能访问 a.m4()}
}
  1. Test 类
package com.hspedu.modifier;public class Test {public static void main(String[] args) {A a = new A();a.m1();B b = new B();b.say();}
}
// 只有默认的和 public 才能修饰类
class Tiger{}

在 pkg 包下:

  1. Test 类
package com.hspedu.pkg;import com.hspedu.modifier.A;public class Test {public static void main(String[] args) {A a = new A();//在不同包下,可以访问 public 修饰的属性或方法//但是不能访问呢 protected ,默认, private 修饰的属性或方法System.out.println("n1 = " + a.n1);//属性,不能访问 a.n2, a.n3, a.n4a.m1();//成员方法,不能访问 a.m2(), a.m3(), a.m4()。}
}

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

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

相关文章

360数字安全:2024年1月勒索软件流行态势分析报告

勒索软件传播至今,360反勒索服务已累计接收到数万次勒索软件感染求助。随着新型勒索软件的快速蔓延,企业数据泄露风险不断上升 ,勒索金额在数百万到近亿美元的勒索案件不断出现。勒索软件给企业和个人带来的影响范围越来越广,危害…

直播商城源码-PC+APP+H5+小程序现成源码

随着电商行业的不断演进,直播商城已成为连接消费者和商品的新兴桥梁。直播商城源码提供了一个完整的解决方案,使得企业能够迅速搭建起一个覆盖PC、APP、H5和小程序的全渠道电商平台。本文将探讨直播商城源码的优势、关键功能以及如何选择适合的现成源码。…

在Linux中查找文件命令的几种方法

要在Linux中查找文件&#xff0c;可以使用以下几种不同的实现方法&#xff1a; 1. 使用find命令&#xff1a; find <搜索路径> <搜索选项> <搜索条件><搜索路径>&#xff1a;表示要搜索的起始路径&#xff0c;可以是一个具体的目录路径&#xff0c;也…

如何搭建一个高效的帮助网站?

在当今数字化时代&#xff0c;拥有一个高效的帮助网站对于企业来说至关重要。无论是为了提供产品支持、解答常见问题&#xff0c;还是为了增强用户体验和品牌形象&#xff0c;一个贴心、专业的帮助网站都能为企业赢得更多的用户和客户。那么&#xff0c;如何才能搭建一个高效的…

设置电脑定时关机

1.使用快捷键winR 打开运行界面 2.输入cmd &#xff0c;点击确认&#xff0c;打开命令行窗口&#xff0c;输入 shutdown -s -t 100&#xff0c;回车执行命令&#xff0c;自动关机设置成功 shutdown: 这是主命令&#xff0c;用于执行关闭或重启操作。-s: 这个参数用于指定执行关…

华为端云一体化开发 初始化云db表结构和表数据(实践2.0)(HarmonyOS学习第七课)

实例介绍&#xff1a;黑马鸿蒙刷题学习过程 1. 静态页面准备 借用黑马完成的页面&#xff0c;已经提供给大家一套写好的基本模板&#xff0c;大家直接将这套模板覆盖原有entry/src/main目录就可以 &#x1f4ce;main.ziphttps://www.yuque.com/attachments/yuque/0/2024/zip…

第十七章 创建Web客户端 - 其他调整

文章目录 第十七章 创建Web客户端 - 其他调整其他调整使用生成的 Web 客户端类示例 1&#xff1a;使用使用包装消息的客户端示例 2&#xff1a;使用使用未包装消息的客户端 第十七章 创建Web客户端 - 其他调整 其他调整 如果 WSDL 未指定 Web 服务的位置&#xff0c;则 SOAP …

linux 删除磁盘分区

1. 卸载分区 sudo df -h sudo umount {mp} 如果报target is busy&#xff0c;说明有进程在访问挂载点&#xff0c;通过fuser命令查看哪些进程在访问&#xff0c;&#xff08;确保可删除后&#xff09;删掉对应进程即可 fuser -mv {mp} 2. 删除分区 指定删除 删除part分区…

IngsollRang伺服拧紧轴控制器维修故障排查

【IngsollRang控制器故障排查】 在开始维修之前&#xff0c;请确保拧紧机已关闭并断开电源。然后&#xff0c;按照以下步骤进行故障排查&#xff1a; 1. 检查电源连接&#xff1a;确保拧紧机的电源线牢固连接&#xff0c;且电源插座正常工作。 2. 检查保险丝&#xff1a;如果电…

贪心算法-加油站

一、题目描述 二、解题思路 1.运动过程分析 这里需要一个油箱剩余油量的变量resGas&#xff0c;初始化resGas0&#xff1b;还需要一个标记从什么位置当做初始位置的startIdx&#xff0c;初始化startIdx0。 我们从数组下标idx0处开始向后遍历&#xff0c;初始时startIdx0&#…

java的核心机制:JVM

JVM&#xff08;java virtual machine&#xff0c;java虚拟机&#xff09;&#xff1a;是一个虚拟的计算机&#xff0c;是java程序的运行环境。JVM具有指令集并使用不同的存储区域&#xff0c;负责执行指令&#xff0c;管理数据、内存、寄存器。 JVM功能1&#xff1a;实现java程…

Unity DOTS技术(十三) ComponentSystem及JobComponentSystem

文章目录 一.ComponentSystem介绍二.JobComponentSystem 一.ComponentSystem介绍 1.继承ComponentSystem需要实现抽象OnUpdate() 2.与SystemBase不同,ComponentSystem不包含LambdaSingleJobDescription, 3.CompoentSystem的带代码都是在主线程上运行,不支持多线程. 4.并不能在…

网络编程之XDP技术介绍

一、简介 XDP&#xff1a;eXpress Data Path&#xff0c;快速数据面&#xff0c;听名字是不是很高大上。其实它就是一个快速处理Rx数据包的数据面技术。为什么现在对数据处理如此敏感&#xff1f;原因非常简单&#xff0c;随着网络的不断覆盖社会的各个层面&#xff0c;海量的…

发布自己的 npm 插件包:步骤与最佳实践

在 Node.js 的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;是一个不可或缺的组成部分。npm 允许开发者创建、共享和使用各种库和插件。如果你有自己的 Node.js 插件或库&#xff0c;并且希望与全世界的其他开发者共享&#xff0c;那么发布到 npm 是…

android 编译源码添加日志打印

最近闲来无事&#xff0c;把源码编译一下&#xff0c;然后把这个源码编译到pixel3手机上&#xff0c;并且简单修改一下源码的网络请求&#xff0c;添加一些日志打印&#xff0c;堆栈打印&#xff0c;记录一下防止忘记 首先需要下载源码 下载对应源码对应的驱动 https://develop…

Docker 创建mysql用户

要在Docker中以root用户身份创建一个MySQL数据库&#xff08;schema&#xff09;并设置一个新用户xiaokkk&#xff0c;密码为123456&#xff0c;您需要先确保您的Docker容器正在运行&#xff0c;并且知道如何连接到它。以下是一步步的指南&#xff1a; 1. 连接到Docker中的MyS…

Rhino Linux 2024.1

Rhino Linux 2024.1的发布信息概述如下&#xff1a; 1. **开发更新**&#xff1a; - 由于开发者原因&#xff0c;开发进程曾一度停滞&#xff0c;但目前团队已起草了Rhino Linux宪法&#xff0c;重点在于社区参与。 - 组织结构的变化将在此次发布后不久生效。 - 社区…

JVM学习-详解类加载器(二)

双亲委派机制 双亲委派优势 避免类的重复加载&#xff0c;确保一个类的全局唯一性 Java类随着它的类加载器一起具备了一种带有优先级的层次关系&#xff0c;通过这种层次关系可以避免类的重复加载&#xff0c;当父类已经加载了该类&#xff0c;就没有必要子ClassLoader再加载…

无锡哲讯:引领半导体企业ERP革新,打造行业数字化先锋

在半导体行业&#xff0c;随着技术的不断进步和市场需求的日益增长&#xff0c;企业面临着激烈的竞争和复杂的管理挑战。ERP系统作为现代企业管理的核心工具&#xff0c;对于半导体企业而言&#xff0c;其作用不容小觑。无锡哲讯智能科技有限公司&#xff0c;凭借其在SAP ERP领…

图像编解码器在AI绘画中的革新作用

随着人工智能技术的飞速发展&#xff0c;AI绘画已经从一个简单的概念演变为一个充满创意与可能性的领域。在这场技术与艺术的融合中&#xff0c;图像编解码器扮演着至关重要的角色。它们不仅提升了AI绘画的质量和效率&#xff0c;还拓宽了艺术创造的边界。本篇博客将深入探讨图…