java系列:IDEA和包

111 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

面向对象编程(中级部分)

IDEA

IDEA介绍

  1. IDEA全称IntelliJ IDEA
  2. 在业界被公认为最好的java开发工具
  3. IDEA是JetBrains公司的产品,总部位于捷克的首都布拉格
  4. 除了支持java的开发,还支持html,css,php,mysql,python等

快捷键

  1. 删除当前行ctrl + Y
  2. 复制当前行 ctrl + D
  3. 补全代码 alt + /
  4. 添加注释和取消注释ctrl + /
  5. 导入该行需要的类,先配置auto import,然后使用alt + enter
  6. 快速格式化代码ctrl + alt + L
  7. 快速运行程序 ctrl + shift + F10
  8. 生成构造器等alt + insert【提高开发效率】
  9. 查看一个类的层级关系ctrl + H【学习继承后非常有用】
  10. 将光标放在一个方法上,输入ctrl + B可以定位到方法【学习继承后,非常有用】
  11. 自动的分配变量名,通过在后面加 .var
  12. 还有很多其他的快捷键

模板

main就是一个模板

sout就是System.out.println();

fori模板等

也可以在设置中自定义模板

file-》setting -》Editor-》Live Templates

看一个应用场景

现在有两个程序员共同开发一个java项目,程序员小明希望定义一个类取名Dog,程序员小强也想定义一个类也叫Dog,两个程序员冲突了怎么办 ->

作用

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

基本语法

package com.gaogao

说明:

  1. package关键字代表打包
  2. com.gaogao表示包名

包的本质分析(原理)

包的本质实际上就是创建不同的文件夹来保存类文件

快速入门

使用打包技术来解决上面的问题,不同包下的Dog类

分别创建com.xiaoming和com.xiaoqiang

分别在两个类下创建Dog类

创建test包,在test包中创建测试类,然后使用xiaoqiang包下的Dog类

image-20221129214656135.png

image-20221129215119955.png

image-20221129215303019.png

可以看到在test中创建Dog对象时,会提示使用哪个包中的Dog,我们上下进行选择即可

image-20221129215608511.png 如果没有报错,可以在前面的Dog红色处按alt + 回车键进行导入,回车后我们可以看到在代码的上方出现了一行

import com.xiaoming.Dog;

也可以使用语句进行区分

com.xiaoqiang.Dog dog1 = new com.xiaoqiang.Dog();

包命名

命名规则

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

命名规范

一般是小写字母+小圆点

com.公司名.项目名.业务模块名

比如

com.sina.crm.user//用户模块
com.sina.crm.order//订单模块
com.sina.crm.utils//工具类

常用的包

一个包下,包含很多类,java中常用的包有

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

如何引入包

com.gaogao.pkg:Import01.java

package com.gaogao.pkg;
import java.util.Arrays;
import java.util.Scanner;



public class Import01 {
    public static void main(String[] args) {
        int[] arr = {1,2,-2,4,45,13};
        Arrays.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }


    }

}

语法:import 包;

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

比如import java.util.Scanner;就只是引入一个类Scanner

import java.util.*;代表将Java.util包所有都引入,但是建议使用哪个类就导入哪个类

案例:使用系统提供Arrays完成数组排序

使用细节

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