java —— 包

java —— 包

一、概要

  1. 包的定义:类和接口等类型的集合,就像一个文件夹;
  2. 包的作用:
    ① 避免命名冲突;
    ② 根据特征进行分类;
    ③ 封装(访问控制);
  3. 完全限定名、简名:
    完全限定名:如属于包a的类Type记为 a.Type,a.Type 就是完全限定名,即它完整的名称;
    简名:如属于包a的类Type记为 a.Type,Type就是简名,即它类名;
  4. 导入声明:(导包
    ① 单类型导入声明(在源程序中可以只使用简名
import 完全限定名;

② 按需类型导入声明

import 包名.*;

注:

  1. “包名”所指定的包中包含的所有类型的名称都可以使用简名;
  2. 不可以过多使用按需类型导入声明;
  3. 在按需类型导入中,不可以导入不同层次的包中的类型名称,如jar包中的类如下:
import java.util.jar.*;

③ 静态导入声明:
静态导入:

类变量(静态字段)
类方法(静态方法)
import static 类型名称.标识符名称;    (单静态导入声明)
import static 类型名称.*;                     (按需静态导入声明)

注:当程序多次使用特定类中的类变量或者类方法时,可以使用按需静态导入声明。

二、包的声明

  1. 包的定义格式:(包声明
格式:package 包名;    (多级包用逗号分开)
范例:package com.sehun;
  1. 无名包:
    ① 当源文件中不存在包声明时,该源文件中定义的类属于无包名
    ② 属于无包名的类的完全限定名和简名一致;
  2. 除了用完后就舍弃的测试类,类一般都要放到包中;
  3. 包声明所在的源程序中声明的所有类都属于该包;
package exo;

class Sehun {
	//
}
class Chanyeol {
	//
}

Sehun 和 Chanyeol 都属于包exo

注:
① 同一个包中的类可以通过简名进行访问;
② 包名的首字母是小写字母;
③ 一个包中不可以存在同名的包和类;

  1. 带包的Java类编译和执行:
    在这里插入图片描述
    在这里插入图片描述
  2. 包和目录:在创建包时,基本构成是将源文件和类文件放在与包名同名的目录中

三、类和成员的访问属性(修饰符)

  1. 类的属性:
public类
非public类
  1. public类:公开访问;
    非public类:默认访问;
  2. public类的名称必须和源程序文件一致
  3. 一个源程序中只可以定义一个或者零个 public 类;
  4. 成员访问属性:
公开(public)访问
限制公开(protected)访问
包(默认)访问
私有(private)访问
  1. 具有公开访问属性的只有 public 类中加上 public 进行声明的成员;
  2. 加上关键字 protectedprivate 进行声明的成员具有与其关键字名称相同的访问属性;
  3. 具有包访问(默认访问)
    public 类中为未加关键字进行声明的成员;
    ② 非 public 类中加上 public 进行声明的成员;

① 对于具有公开访问属性的成员,包的内部和外部都可以进行访问;
② 对于具有限制公开访问属性的成员,包内部及该类派生的类可以对其进行访问
③ 对于具有包(默认)访问属性的成员,只可以在包中对其进行访问;
④ 对于具有私有访问属性的成员,只可以在该类内部对其进行访问。
在这里插入图片描述
修饰符分类:权限修饰符、状态修饰符。

END

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值