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

2024-06-07 23:28

本文主要是介绍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()。}
}

这篇关于java第二十一课 —— 快捷键,包,访问修饰符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040597

相关文章

Spring IOC的三种实现方式详解

《SpringIOC的三种实现方式详解》:本文主要介绍SpringIOC的三种实现方式,在Spring框架中,IOC通过依赖注入来实现,而依赖注入主要有三种实现方式,构造器注入、Setter注入... 目录1. 构造器注入(Cons编程tructor Injection)2. Setter注入(Setter

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添