开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情
面向对象编程(中级部分)
IDEA
IDEA介绍
- IDEA全称IntelliJ IDEA
- 在业界被公认为最好的java开发工具
- IDEA是JetBrains公司的产品,总部位于捷克的首都布拉格
- 除了支持java的开发,还支持html,css,php,mysql,python等
快捷键
- 删除当前行ctrl + Y
- 复制当前行 ctrl + D
- 补全代码 alt + /
- 添加注释和取消注释ctrl + /
- 导入该行需要的类,先配置auto import,然后使用alt + enter
- 快速格式化代码ctrl + alt + L
- 快速运行程序 ctrl + shift + F10
- 生成构造器等alt + insert【提高开发效率】
- 查看一个类的层级关系ctrl + H【学习继承后非常有用】
- 将光标放在一个方法上,输入ctrl + B可以定位到方法【学习继承后,非常有用】
- 自动的分配变量名,通过在后面加 .var
- 还有很多其他的快捷键
模板
main就是一个模板
sout就是System.out.println();
fori模板等
也可以在设置中自定义模板
file-》setting -》Editor-》Live Templates
包
看一个应用场景
现在有两个程序员共同开发一个java项目,程序员小明希望定义一个类取名Dog,程序员小强也想定义一个类也叫Dog,两个程序员冲突了怎么办 ->
作用
- 区分相同名字的类
- 当类很多时,可以很好的管理类
- 控制访问范围
基本语法
package com.gaogao
说明:
- package关键字代表打包
- com.gaogao表示包名
包的本质分析(原理)
包的本质实际上就是创建不同的文件夹来保存类文件
快速入门
使用打包技术来解决上面的问题,不同包下的Dog类
分别创建com.xiaoming和com.xiaoqiang
分别在两个类下创建Dog类
创建test包,在test包中创建测试类,然后使用xiaoqiang包下的Dog类
可以看到在test中创建Dog对象时,会提示使用哪个包中的Dog,我们上下进行选择即可
如果没有报错,可以在前面的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完成数组排序
使用细节
- package的作用是声明当前类所在的包,需要放在class的最上面,一个类中最多只能有一句package
- import指令位置放在package的下面,在类定义前面,可以有多句且没有顺序要求