博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[04] 包和访问权限修饰符
阅读量:5375 次
发布时间:2019-06-15

本文共 1375 字,大约阅读时间需要 4 分钟。

1、包

在某个类中的最上方,我们总是可以看到以 
package 关键字开头的一行代码,这行代码表示了当前类的位置,我们称之为包。
package com.learn.pay.service;
1
 
1
package com.learn.pay.service;
包实际上是:
  • 物理上是文件夹
  • 逻辑上是有相互关系的类的集合
物理上是文件夹,是说假如你的包名是 “com.learn.java.Person”,那么实际上Person这个java文件在项目文件夹下的 “com / learn / java /” 文件夹中。
而逻辑上相关联的类的集合,这个并不是强制性的,而是一种约定俗成,比如把支付相关功能的类放在一个包下,消息发送功能的类放在另一个包下,便于归类和使用。就像你家中各类衣物小到袜子大到铺盖卷儿如果全部揉了丢一块,等你想用的时候去找,就发现麻烦大了。
那么包的主要作用是:
  • 避免类重名
  • 控制访问权限
就和我们使用windows时,在某个文件夹内不能出现两个同名文件类似,不同的包也可以防止类名的重复,也就便于不同程序员之间工作,即便出现同名类也不影响。如果我需要引用的那个类和我包中的类重名怎么办?答案是带上包名,使用类似 “com.learn.java.Person” 来表示一个Person。
而当我们在某个类中要使用到其他位置的类时,我们需要使用 
import 关键字进行引用,而引用不是随意的,就像你可以选择你自己是否去公园,能不能进去就是另一回事了(比如没到开放时间,或者发生自然事故等等)。
1007017-20180613093733103-657870113.jpg
 
你要引用其他类,能否成功引用关键在于引用类的是否给你权限,也就是所谓的权限修饰符来控制(默认类是public权限,即没有限制随便引用)。

2、访问权限修饰符

我们在类,以及方法的定义时,都会使用到权限访问修饰符,对类来说,只有两种,对属性和方法来说,有四种:
权限访问修饰符 定义 权限 针对范围
public     公共权限     可以被任意类访问 属性、方法、类
protected     受保护的权限 同包类可以访问,或者非同包的该类子类可访问 属性、方法
default(即默认不写) 同包权限 只能被同包的类访问 属性、方法、类
private     私有权限     只能在本类中访问使用     属性、方法
  • 类:public、default
  • 属性、方法:public、protected、default、private
权限修饰符的使用位置为:
//对类来说【访问权限修饰符】【修饰符】class 类名 {  类体}//对属性来说【访问权限修饰符】【修饰符】数据类型 属性名【=初值】;//对方法来说【访问权限修饰符】【修饰符】返回值数据类型 方法名(形式参数列表) {  执行语句;  return 返回值;}
x
 
1
//对类来说
2
【访问权限修饰符】【修饰符】class 类名 {
3
 类体
4
}
5
 
6
//对属性来说
7
【访问权限修饰符】【修饰符】数据类型 属性名【=初值】;
8
 
9
//对方法来说
10
【访问权限修饰符】【修饰符】返回值数据类型 方法名(形式参数列表) {
11
 执行语句;
12
 return 返回值;
13
}

转载于:https://www.cnblogs.com/deng-cc/p/7459371.html

你可能感兴趣的文章
squid的处理request和reply的流程
查看>>
硬件_陀螺仪
查看>>
SSIS的部署和配置
查看>>
计算机内存管理介绍
查看>>
POJ 2761 Feed the dogs 求区间第k大 划分树
查看>>
mysql中间件研究(Atlas,cobar,TDDL)[转载]
查看>>
ASP.NET应用程序与页面生命周期
查看>>
Linux--多网卡的7种Bond模式
查看>>
Oracle命令(一):Oracle登录命令
查看>>
业务建模 之 业务用例图
查看>>
EasyUI基础入门之Pagination(分页)
查看>>
一次PHP代码上线遇到的问题
查看>>
显示密码
查看>>
实现one hot encode独热编码的两种方法
查看>>
ubuntu中文英文环境切换
查看>>
[sql]mysql启停脚本
查看>>
[elk]Mutate filter plugin增删改查字段
查看>>
Java内功心法,行为型设计模式
查看>>
向github项目push代码后,Jenkins实现其自动构建
查看>>
jquery中的ajax方法参数的用法和他的含义
查看>>