面向对象之4:(package关键字)包,(import关键字)导入,的总结:

目录

 

包 及 包的作用?

包的定义:

包的导入:

包的静态导入(几乎不用):


包 及 包的作用?

  1. 什么是包?:比如身份证上面的详细地址,快递的 收货地址。等,这些地址对应Java 都可以称之为包。历史比如:吾乃常山赵子龙 ,吾乃燕人张翼德
  2. 包的作用:为了解决类的重名问题,即不同的包中的类的名字可以相同。解决权限问题。(实际包 对应的就是 电脑上面的盘符的 目录!)。当类很多的时候,可以很方便的分门别类的管理类。
  3. 上线后的代码的打包操作就是根据package关键字来进行打包的。

包的定义:

  1. Java中通过 package 关键字定义一个包的名字,一般用IDE ,IDE 都会自动在代码的第一行声明包。
  2. 包名定义:
    1. 名字全部小写。
    2. 可以有字母、数字、下换线、中间用 . 隔开,词与词之间不能用数字开头。
    3. 一般都是公司或者组织的域名倒着写, 比如: com.alibaba.xxxx ,com.huawei.xxx ,com.tencent.xxx ,com.jd.xxx   ……,
      1. 加上模块名字:比如: com.jd.login  , com.jd.register ,com.jd.search ……
      2. 细分: com.公司名.项目名.业务模块名
    4. 不能使用Java中的关键字和保留字和操作系统中的关键字:比如 windows中 不能使用系统的关键字: nul,con,com1 -- com9 ……
    5. 包声明的位置必须在非注释性代码的第一行。

包的导入:

  1. 通过import关键字导入一个包,导包的作用就是为了进行所使用的类的包的位置定位。
  2. 导入包的语句:在包声明的和类名的中间进行导入!
  3. 使用不同包下的类需要导包: improt ***.***. ……;比如:
    import java.util.ArrayList;
  4. 导包以后,如果还想用其他包中同名的类的时候,在使用该类的时候就必须要手动写包所在的位置。一个类中不允许导入两个不同包中相同的类,只有在使用的时候写类的全限名即可!比如:
  5. 在同一个包中的类的时候不需要导包,直接使用即可。
  6. 在java.lang包下的类,可以直接使用无需导包。因为JVM知道 这个包下的类使用频率是最高的,所以索性就不需要开发者手动导包。编译、运行的时候会自动进行检查。
  7. IDE中可以设置自动导包:比如 Intellij IDEA
  8. 当使用同一个包中类达到一定的数量的数量的时候,可以导入 *: 即导入这个包下所有的类。比如:,IDEA中也可以设置:
  9. 在Java中导包没有包含与被包含的关系,比如有个类: com.alibaba.Platform 和 com.alibaba.login.Login,如果要在不同包的类中使用这两个类,那么就需要导入,import com.alibaba.Platform; 和 import com.alibaba.login.Login; 为了避免产生歧义。如果只是写成 import com.alibaba.*; 的话,那么就指定使用该包下面的类,而不能使用它子包下的类。如果写成 import com.alibaba.*; 可以使用使用它子类包括子包下面的全部类的话,那么如果父包中也有一个Login类的话com.alibaba.Login;  那么这种情况就会产生歧义,JVM编译和运行的时候并不知道使用这两个包中的具体 哪一个!

包的静态导入(几乎不用):

顾名思义:就是导入使用的那个类中的全部静态的部分。

语法格式:import static 包名.类名.*;

比如使用Math类:

package indi.jonny.other;


import static java.lang.Math.*;
/**
 * @version 1.0
 * @package indi.jonny.other
 * @description TODO
 * @author: jonny-zz
 * @date: Created at 2021-05-21 11:03.
 */
public class Test {
    public static void main(String[] args) {
        // 圆周率
        System.out.println(PI);
        // 向上取整
        System.out.println(ceil(1.1));
        // 向下取整
        System.out.println(floor(1.9));
        // 四舍五入
        System.out.println(round(5.5));
        // 开正平方根
        System.out.println(sqrt(16));
        // Math.random() : [0.0 ~ 1.0) 范围之中的随机数
        // 调用本类的中random() 方法;
        System.out.println(random());
    }

    /**
     * 如果使用静态导入后,同一个类中有相同的方法名的方法的时候,会优先走本类的方法(就近原则)
     * (JVM执行的不会舍近求远的)
     * @return
     */
    public static double random(){
        return 100.1001;
    }
}

test:

下一篇:面向对象之5:面向对象三大特性之 继承 、super关键字 的总结:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值