包的作用

1、可以避免类重名

有了包之后,类的全名称就变为:包.类名

2、分类组织管理众多的类

例如:

  • java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和Thread等,提供常用功能
  • java.net----包含执行与网络相关的操作的类和接口。
  • java.io ----包含能提供多种输入/输出功能的类。
  • java.util----包含一些实用工具类,如集合框架类、日期时间、数组工具类Arrays,文本扫描仪Scanner,随机值产生工具Random。
  • java.text----包含了一些java格式化相关的类
  • java.sql和javax.sql----包含了java进行JDBC数据库编程的相关类/接口
  • java.awt和java.swing----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

3、可以控制某些类型或成员的可见范围

如果某个类型或者成员的权限修饰缺省的话,那么就仅限于本包使用

声明包的语法格式

package 包名;

注意:

(1)必须在源文件的代码首行

(2)一个源文件只能有一个声明包的语句

包的命名规范和习惯:
(1)所有单词都小写,每一个单词之间使用.分割
(2)习惯用公司的域名倒置

例如:com.atguigu.xxx;

建议大家取包名时不要使用“java.xx"包

如何编译和运行(在idea中不用)

编译格式:

javac -d class文件存放路径 源文件路径名.java

例如:

package com.atguigu.demo;public class TestPackage {public static void main(String[] args) {System.out.println("hello package");}
}

编译:

javac -d . TestPackage.java

其中 . 表示在当前目录生成包目录

运行:

java com.atguigu.demo.TestPackage

定位到com目录的外面才能正确找到这个类

使用类的全名称才能正确运行这个类

使用其他包的类

前提:被使用的类或成员的权限修饰符是>缺省的

(1)使用类型的全名称

例如:java.util.Scanner input = new java.util.Scanner(System.in);

(2)使用import 语句之后,代码中使用简名称

import语句告诉编译器到哪里去寻找类。

import语句的语法格式:

import 包.类名;
import 包.*;
import static 包.类名.静态成员; //后面补充

注意:

使用java.lang包下的类,不需要import语句,就直接可以使用简名称

import语句必须在package下面,class的上面

当使用两个不同包的同名类时,例如:java.util.Date和java.sql.Date。一个使用全名称,一个使用简名称

示例代码:

package com.atguigu.bean;public class Student {// 成员变量private String name;private int age;// 构造方法public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}// 成员方法public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}
}
package com.atguigu.test;import java.util.Scanner;
import java.util.Date;
import com.atguigu.bean.Student;public class Test{public static void main(String[] args){Scanner input = new Scanner(System.in);Student stu = new Student();String str = "hello";Date now = new Date();java.sql.Date d = new java.sql.Date(346724566);        }
}

零基础Java学习之包(Package)相关推荐

  1. java学习笔记:零基础java学习路线+配套资料+书籍推荐

    公众号菜鸟名企梦2018年,精品文章汇总: 01 我的秋招 我的秋招offer 我的offer选择 秋招全面总结-必读宝典 求职必读 02 零基础学习路线 零基础-java学习路线(上) 零基础-ja ...

  2. 授人予鱼不如授人予渔:零基础java学习路线分享

    一切不以求职找工作为目标的学习路线分享都是耍流氓. 博主是19年7月毕业的应届生:985.A+学科硕士.2018年的秋招收获了:百度.腾讯.头条.美团.猿辅导.度小满.猫眼.流利说等offer.off ...

  3. 零基础——java学习路线(下)

    学习路线分上中下三篇,前两篇已经发布了,本文是学习路线系列的最后一篇.有没有提到的点或学习疑问欢迎评论区留言~ 公众号后台回复"资料"即可获取学习资料大礼包,你想找的基本都有,外加 ...

  4. 零基础Java学习之接口

    介绍 接口的介绍我们从三个方面来说: 从使用上来说是继承的一种扩展,因为java不支持多继承,而有了接口就能够实现多继承的效果. 有时候需要必须从几个类中抽取出一些共同的行为特征,而它们之间又没有继承 ...

  5. 零基础Java学习之多态

    介绍 多态是Java的三大特性之一,另外两个分别是:继承和封装(前面博客已经说了继承和封装了,可以看一下).这两个可以说在一定程度了为多态打下了基础. 通过多态,可以实现一个行为具有多种形态,这里的形 ...

  6. 零基础Java学习之继承

    继承 继承的概述 继承的理解 继承的好处 继承的格式 继承的特点一:成员变量 私有化(private) 成员变量不重名 成员变量重名 继承的特点二:成员方法 成员方法不重名 成员方法重名--重写(Ov ...

  7. 零基础Java学习之成员变量

    成员变量 成员变量的分类 实例变量:也叫对象属性,属于某个对象的,通过对象来使用 类变量:属于整个类的,不是属于某个实例,后面static部分讲解. 如何声明实例变量? [修饰符] class 类名{ ...

  8. 零基础Java学习之this关键字

    this的含义 this代表当前对象的引用(地址值),即对象自己的引用. this可以用于构造器中:表示正在创建的那个实例对象,即正在new谁,this就代表谁 this用于实例方法中:表示调用该方法 ...

  9. 零基础Java学习之抽象类

    抽象类 介绍 抽象:即不具体.或无法具体 例如:当我们声明一个几个图形类:圆.矩形.三角形类等,发现这些类都有共同特征:求面积.求周长.获取图形详细信息.那么这些共同特征应该抽取到一个公共父类中.但是 ...

最新文章

  1. 锐动SDK针对游戏直播提出的解决方案
  2. C#中string类型赋值问题
  3. 如何踢掉 sql 语句中的尾巴,我用 C# 苦思了五种办法
  4. jQuery插件_SuperSlide插件(焦点图切换、标签切换、多个slide组合)
  5. 微信java创建菜单_微信自定义菜单的创建(JAVA版)
  6. android flag,Android 屏幕锁 - FLAG_KEEP_SCREEN_ON
  7. 〖Python 数据库开发实战 - MySQL篇⑤〗- 为大家推荐几款经典的数据库可视化工具
  8. 数学建模之向量自回归模型
  9. 阿里云OCR:(二)银行卡号识别
  10. 生命游戏(康威的生命游戏) Game Of Life - Conway Cocos Creator 3.x版实现
  11. TCP三次握手以及与UDP的区别
  12. 斑马电商云品牌发布会就是一群有梦想的人在搞事情
  13. 记唐晓芙---围城第一遍略读后记
  14. 对象及日期定时器、延时器
  15. ristretto255 point压缩和解压缩算法(1)——affine坐标系下
  16. 私域引流工具及场景落地方法
  17. PHP LOL接口,电竞英雄联盟数据API接口 - 【赛事列表】API调用示例代码
  18. Oracle取小数点部分
  19. 国产流媒体平台建设厂商
  20. 【愚公系列】2022年09月 微信小程序-three.js绘制球体

热门文章

  1. Verilog: How to avoid 'Redeclaration of ansi port'
  2. 【 Linux 】Vim 使用的第一个阶段(满足基本的写代码需求)
  3. 周期方波的傅里叶级数系数
  4. JavaScript碎片—函数闭包(模拟面向对象)
  5. 百度的TSDB——可针对tag查询,应该类似kairosDB
  6. Android开发之TextView高级应用
  7. 一篇绝好的讲sql server索引的文章,值得收藏
  8. VMware排错:Number of virtual devices exceeds the maximum for a given controller
  9. 用正则表达式取出table中的所有行(支持嵌套table)
  10. 移动端html模板卡片列表效果,移动手机Material Design风格信息卡片UI设计