---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

一、访问权限

1、私有变量和私有方法

用关键字private 修饰的成员变量和方法称为私有变量和私有方法,私有只在本类中有效,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和方法。

private 常用之一:将成员变量私有化,对外提供对应的set,get方法对类进行访问,提高对数据的访问安全性。

如:

class Tom {private float weight;//weight被修饰为私有的float型变量private float f(float a,float b) {//方法f是私有方法....}
}

如果Tom类中的某个成员变量是私有类变量,那么在另一个类中,也不能通过类名Tom来操作这个私有类变量。如果Tom类中的某个方法是私有的类方法,那么在另一个类中,也不能通过类名来调用这个私有类方法。

2、共有变量和共有方法

用public修饰的成员变量和方法称为共有变量和共有方法。如:

class Tom {public float weight;//weight被修饰为public的float型变量public float f(float a,float b) {//方法f是public方法....}
}

当在任何一个类中用类Tom创建了一个对象后,该对象能访问自己的public变量和类中的public方法。如:

class Jerry {void g() {Tom cat = new Tom();cat.weight = 23f;//合法cat.f(3,4);//合法}
}

如果Tom 类中的某个成员变量是public类变量,那么在任何一个类中,也可以通过类名Tom来操作Tom的这个成员变量。如果Tom类中的某个方法是public类方法,那么在任何一个类中,也可以通过类名Tom 来访问这个public方法。

3、受保护的成员变量和方法

用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法。如:

class Tom {protected float weight;//weight被修饰为protected的float型变量protected float f(float a,float b) {//方法f是protected方法....}
}

当在另外一个类中用类Tom创建了一个对象后,如果这个类与类Tom 在同一个包中,那么该对象能访问自己的protected变量和和Protected方法。在任何一个与Tom同一包中的类中,也可以通过Tom类的类名访问Tom类的protected类变量和protected类方法。

假如Jerry与Tom是在同一包中的类,那么,Jerry类中的cat.weight、cat.f(3,4)都是合法的:

class Jerry {void g() {Tom cat = new Tom();cat.weight = 23f;//合法cat.f(3,4);//合法}
}

注:在后面介绍子类时,将介绍”受保护(protected)“和”友好的“之间在继承方面的区别。

4、友好变量和友好方法

不用private、public、protected修饰符的成员变量和方法被称为友好变量和友好方法。如:

class Tom {float weight;//weight是友好的float型变量float f(float a,float b) {//方法f是友好方法....}
}

当在另一个类中用类Tom创建了一个对象后,如果这个类与Tom类中同一个包中,那么该对象能访问自己的友好变量和友好方法。在任何一个与Tom同一包中的类中,也可以通过Tom 类的类名访问Tom类的类友好变量和类友好方法。

假如Jerry与Tom是在同一包中的类,那么,Jerry类中的cat.weight、cat.f(3,4)都是合法的:

class Jerry {void g() {Tom cat = new Tom();cat.weight = 23f;//合法cat.f(3,4);//合法}
}

在源文件中编写命名的类总是在同一包中。如果你在源文件中用import语句导入了另外一个包中的类,并用该类创建了一个对象,那么该类的这个对象不能访问自己的友好变量和友好方法。

5、public类与友好类

类声明时,如果关键字class前面加上public关键字,就称这样的类是一个public类,如:

public class A {....
}

可以在任何另外一个类中,使用public类创建对象。如果一个不加public修饰,如:

class A {....
}

这样的类称为友好类,那么另外一个类中使用友好类创建对象时,要保证他们是在同一个包中。

注:(1)不能用protected和private修饰类

(2)访问权限的级别排列,按访问权限从高到底排列序列是public、protected、友好的、private。

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------



黑马程序员--Java学习10--访问权限相关推荐

  1. 2023年黑马程序员Java学习路线图

    2023年Java学科免费学习资源放送40+套课程,超过600小时的内容! 在过去的一年里,为了帮助更多人线上充电,学会更多技能,黑马程序员举办了 150+ 场免费直播公开课,新增精品视频教程 80+ ...

  2. 黑马程序员-Java教程-10缓冲流、转换流、序列化流

    day10[缓冲流.转换流.序列化流.打印流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本 ...

  3. 黑马程序员--Java学习日记之集合(collection类与list接口)及泛型概述

     ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,集合概念   之前我们存储大量的对象,可以使用数组:   但数组有两个缺陷:   1. ...

  4. 黑马程序员java学习打卡----程序流程控制

    学习总内容: 分支结构 1.if 2.switch 3.switch的穿透性 循环结构 1.for循环 2.while循环 3.死循环 4.循环嵌套 跳转关键字 break continue 案列技术 ...

  5. 黑马程序员--Java学习01--java简介

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.Java的诞生 Java是1995年6月由 ...

  6. 黑马程序员java学习日记——集合框架

    ------- android培训.java培训.期待与您交流! ---------- Java.util包中提供了一些集合类,这些集合类又被称为容器.集合类与数组的不同之处是,数组长度是固定的,集合 ...

  7. 黑马程序员--Java学习日记之网络编程

     ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.网络编程概述 1.计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及 ...

  8. 黑马程序员--Java学习日记之集合(map集合和collections类)

    -- Java培训.Android培训.iOS培训..Net培训.期待与您交流! ---  一.概述 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 在使用Collec ...

  9. 黑马程序员Java教程学习笔记(五)

    学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(五) 日期时间:Date.Sim ...

最新文章

  1. Swift for循环:用于索引,数组中的元素?
  2. 微信小程序获取不到unionid还有小程序无法解析JSON字符串的问题
  3. 执行phpize Cannot find config.m4
  4. Java wait forever_彻底搞清楚Java并发 (一) 基础
  5. 三维列表转换成数组时,维度却只有二维
  6. 买房为什么要少出首付,多贷款?
  7. java使用三种循环打印99表_编程题:利用for循环打印 9*9 表
  8. C/C++语言函数学习(1):atexit、exit、return
  9. 马化腾、马云并列成为中国首富;百度回应“将上线电商直播”;.NET 5 Preview 2 发布 | 极客头条...
  10. 基于matlab的基带gmsk调制解调,基于MATLAB的GMSK调制解调实验
  11. 高中计算机会考vb试题,高中信息技术考试vb程序题及答案
  12. 马尔可夫链模型--通俗
  13. 安装 Eyoucms
  14. 国家集训队论文99~08年全版
  15. python解析mht文件_[原创].mht文件图片解析工具
  16. 噪音达到多少分贝就算是扰民
  17. python替换word内容,文档翻译-使用python替换word文档中的段落内容
  18. 文化袁探索专栏——Activity、Window和View三者间关系
  19. 普林斯顿算法课作业 part II 的python实现(四)Boggle
  20. 手机怎么把两寸照改成一寸照?这个方法既简单又好用

热门文章

  1. 异步fifo_正点原子开拓者FPGA开发板资料连载第十五章 IP核之FIFO实验
  2. 在c语言中我叫做符号变量,问渠网-C语言基础-第一节 关键字符号与变量
  3. FTP的主动模式和被动模式工作原理
  4. EverBox开发笔记-2-iCloud-KeyValueStore
  5. 连接redis服务器提示:Redis Client On Error Error connect ECONNREFUSED 127.0.0.16380 Config right
  6. Excel 使用小妙招之解决“##”显示问题
  7. thinksns java_ThinkSNS+ 更新播报
  8. 加密算法之SHA(SHA1、SHA256)
  9. 怎么在微软官网找到visual studio历史版本
  10. BIOS 启动类型:Legacy+UEFI、UEFI BOOT、Legacy BOOT