码迷,mamicode.com
首页 > 其他好文 > 详细

[04] 包和访问权限修饰符

时间:2017-08-31 18:04:06      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:.com   body   类中访问   消息   java   add   learn   自己   两种   


1、包

在某个类中的最上方,我们总是可以看到以 package 关键字开头的一行代码,这行代码表示了当前类的位置,我们称之为包。
  1. package com.learn.pay.service;

包实际上是:
  • 物理上是文件夹
  • 逻辑上是有相互关系的类的集合

物理上是文件夹,是说假如你的包名是 “com.learn.java.Person”,那么实际上Person这个java文件在项目文件夹下的 “com / learn / java /” 文件夹中。

而逻辑上相关联的类的集合,这个并不是强制性的,而是一种约定俗成,比如把支付相关功能的类放在一个包下,消息发送功能的类放在另一个包下,便于归类和使用。就像你家中各类衣物小到袜子大到铺盖卷儿如果全部揉了丢一块,等你想用的时候去找,就发现麻烦大了。

那么包的主要作用是:
  • 避免类重名
  • 控制访问权限

就和我们使用windows时,在某个文件夹内不能出现两个同名文件类似,不同的包也可以防止类名的重复,也就便于不同程序员之间工作,即便出现同名类也不影响。如果我需要引用的那个类和我包中的类重名怎么办?答案是带上包名,使用类似 “com.learn.java.Person” 来表示一个Person。

而当我们在某个类中要使用到其他位置的类时,我们需要使用 import 关键字进行引用,而引用不是随意的,就像你可以选择你自己是否去公园,能不能进去就是另一回事了(比如没到开放时间,或者发生自然事故等等)。
技术分享
 
你要引用其他类,能否成功引用关键在于引用类的是否给你权限,也就是所谓的权限修饰符来控制(默认类是public权限,即没有限制随便引用)。

2、访问权限修饰符

我们在类,以及方法的定义时,都会使用到权限访问修饰符,对类来说,只有两种,对属性和方法来说,有四种:
权限访问修饰符定义权限针对范围
public    公共权限    可以被任意类访问属性、方法、类
protected    受保护的权限同包类可以访问,或者非同包的该类子类可访问属性、方法
default(即默认不写)同包权限只能被同包的类访问属性、方法、类
private    私有权限    只能在本类中访问使用    属性、方法
  • 类:public、default
  • 属性、方法:public、protected、default、private

权限修饰符的使用位置为:
  1. //对类来说
  2. 【访问权限修饰符】【修饰符】class 类名 {
  3. 类体
  4. }
  5. //对属性来说
  6. 【访问权限修饰符】【修饰符】数据类型 属性名【=初值】;
  7. //对方法来说
  8. 【访问权限修饰符】【修饰符】返回值数据类型 方法名(形式参数列表) {
  9. 执行语句;
  10. return 返回值;
  11. }


[04] 包和访问权限修饰符

标签:.com   body   类中访问   消息   java   add   learn   自己   两种   

原文地址:http://www.cnblogs.com/deng-cc/p/7459371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!