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.n4
        a.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.n4
        a.m1();//成员方法,不能访问 a.m2(), a.m3(), a.m4()。
    }
}

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

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

相关文章

分享万能点击器免费版,吾爱大佬出品,这个太赞了!

小伙伴们!阿星又来给大家推荐神奇的小软件啦!这次的主角可是个神器——鼠标连点器!你听过没?这玩意儿简直是个“自动小助手”,让你的鼠标在屏幕上飞舞,点得飞快,解放你的双手,让你网…

企业费用标准如何制定?

在当前宏观经济环境和市场竞争日益激烈的背景下,国内很多企业的费用管理流程依旧面临诸多挑战。特别是制造业、零售业等人员众多的企业,如何通过制定精细化、自动化的企业费用标准来实现降本增效,已经成为企业财务流程优化的首要目标。 企业…

Oracle数据库设计规范指南(Word原件)

方便业务功能实现、业务功能扩展;方便设计开发、增强系统的稳定性和可维护性;保证数据完整性和准确性;提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销达到优化平衡。资料获取:本文本个人名…

常见硬件工程师面试题(一)

大家好,我是山羊君Goat。 对于硬件工程师,学习的东西主要和电路硬件相关,所以在硬件工程师的面试中,对于经验是十分看重的,像PCB设计,电路设计原理,模拟电路,数字电路等等相关的知识…

FANUC机器人SRVO-348 DCS MCC关闭报警处理方法总结

FANUC机器人SRVO-348 DCS MCC关闭报警处理方法总结 如下图所示,由于操作人员在操机时误打开了安全门,导致机器人紧急制动停止,示教器上显示: SRV0-348 DCS MCC关闭报警0,1, 如下图所示,查看手册中关于SRVO-348报警的具体内容: 原因分析:给机器人主电源上电的接触器在紧…

全志T527芯片详解【三】:丰富接口

工业控制接口 T527集成了大量适用于工业场景的功能接口,包括PCle接口、CAN总线接口、UART接口和PWM接口等。 PCle是智慧工业领域广泛应用的接口,可满足数据高速传输的需求,亦可用于外接大算力NPU/GPU进行算力扩展、外接高速存储介质以及外接…

无忧易售ERP:赋能Onbuy平台,打造产品刊登新高度

在当今全球化的电商蓝海潮涌动下,Onbuy平台以其独特的优势吸引了众多卖家的目光,成为跨境贸易的一片新蓝海。然而,如何在这片海域中扬帆远航,快速、精准地将产品推向世界舞台,是每位卖家面临的挑战。此刻,无…

压缩视频在线压缩网站,压缩视频在线压缩工具软件

在数字化时代,视频成为了人们记录和分享生活的重要载体。然而,视频文件一般都非常大,这不仅占据了大量的存储空间,也给视频的传输和分享带来了不便。因此,压缩视频成为了许多人必须掌握的技能。本文将详细介绍如何压缩…

python数据分析-问卷数据分析(地理课)

学生问卷 分析学生背景:班级分布、每周地理课数量、地理成绩分布 根据问卷,可以知道: 班级分布: 七年级有118名学生。 八年级有107名学生。 每周地理课的数量: 有28名学生每周有1节地理课。 有99名学生每周有2…

python的plt.axis()、plt.xlim() 和 plt.ylim()函数

坐标轴相关设置1、plt.axis():坐标轴设置 函数 plt.axis(*v, **kwargs) 主要用于设置坐标轴的属性,返回值为当前的坐标轴范围 [xmin, xmax, ymin, ymax],几种调用方式如下: 调用方式 说明 axis() 返回当前…

echarts学习: 在图表中添加多条y轴会怎么样?

前言 在撰写如何绘制双y轴图表文章时,我突然萌生出了一个想法,如果给图表添加两个以上的y轴会怎么样呢? 带着这个问题我开始了自己的探索之旅。 我找到了一篇优秀的文章作为参考,虽然它需要付费,但是不要紧,文中免费…

IP域名关系的研究与系统设计(学习某知名测绘系统)

IP域名关系库管理包括域名库检索和whois库检索,详情如下。 域名库检索支持以下5项功能: 1.通过过滤器检索 筛选条件包含IP地址、口令、工具名称、可利用的漏洞编号、创建时间; 2.通过关键字检索 在查询框中输入域名库名称的部分关键词&a…

快速搭建高效运营体系,Xinstall App下载自动绑定助您一臂之力

在互联网的浪潮中,App的推广与运营面临着诸多挑战。如何在多变的互联网环境下迅速搭建起能时刻满足用户需求的运营体系,成为了众多企业关注的焦点。今天,我们就来聊聊如何通过Xinstall的App下载自动绑定功能,轻松解决App推广与运营…

玩转STM32-通信协议SPI(详细-慢工出细活)

文章目录 一、SPI的基础知识1.1 接口定义1.2 单机和多机通信 二、STM32的SPI工作过程2.1 从选择(NSS)脚管理2.2 时钟相位与极性2.3 SPI主模式2.4 SPI从模式 三、应用实例 一、SPI的基础知识 1.1 接口定义 SPI系统可直接与各个厂家生产的多种标准外围器…

111、二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 题解:找出最小深度也就是找出根节点相对所有叶子结点的最小高度,在这也表明了根节点的高度是变化的,相对不同的叶子结点有不同的高度。…

Python爬取城市空气质量数据

Python爬取城市空气质量数据 一、思路分析1、寻找数据接口2、发送请求3、解析数据4、保存数据二、完整代码一、思路分析 目标数据所在的网站是天气后报网站,网址为:www.tianqihoubao.com,需要采集武汉市近十年每天的空气质量数据。先看一下爬取后的数据情况: 1、寻找数据…

视频会议开发:为什么必须使用显卡GPU解码渲染视频?

现在,使用视频会议系统远程协同办公、沟通交流,已经非常普遍了。如果我们要开发自己的视频会议系统,那么,GPU解码渲染技术是不可缺少的。 在视频会议系统中,经常需要同时观看会议中多个参会人员的视频图像,…

ALSA 用例配置

ALSA 用例配置。参考 ALSA 用例配置 来了解更详细信息。 ALSA 用例配置 用例配置文件使用 配置文件 语法来定义静态配置树。该树在运行时根据配置树中的条件和动态变量进行评估(修改)。使用 用例接口 API 解析结果并将其导出到应用程序。 配置目录和主…

LeetCode1143最长公共子序列

题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08…

贪心算法-数组跳跃游戏(mid)

目录 一、问题描述 二、解题思路 1.回溯法 2.贪心算法 三、代码实现 1.回溯法实现 2.贪心算法实现 四、刷题链接 一、问题描述 二、解题思路 1.回溯法 使用递归的方式,找到所有可能的走步方式,并记录递归深度(也就是走步次数&#x…