---------------------- 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. 大学生创业难?现在已不是问题!
  2. ADS与RealView MDK
  3. 突发信号matlab,MATLAB信号处理仿真
  4. Python基础教程(第3版)之一些内置的异常类
  5. html 倒计时 插件,JavaScript使用小插件实现倒计时的方法讲解
  6. win8.1重装系统计算机管理打不开,Windows8计算机打不开192.168.0.1怎么办
  7. 判断是否为长按_【物流知识】物流配送合理化判断7大标志
  8. timestamp ---自动更新修改时间 与 记录首次插入时间
  9. 修改服务器资产信息,CMDB服务器管理系统【s5day90】:创建资产更新服务器硬盘信息...
  10. 【知识索引】【汇编语言】
  11. 1.2成员变量+类变量+static关键字
  12. 解压版mysql使用
  13. 【C语言】求方程式 ax^2+bx+c=0 的根, 分别考虑: 1、有两个不等的实根 2、有两个相等的实根
  14. java tea bag_设计模式系列教程—Template Method Pattern(模板方法模式)
  15. BLOCK PVSE 230/24-5电源acim-jouanin AJ7003.J.2000温度传感器
  16. 【计算机系统】CPU指令执行流程与指令流水线原理
  17. 【企业网盘】公有云和私有云的9大差异 | 燕麦企业云盘(OATOS企业网盘)
  18. .设计一个Student类,该类中包括学生的姓名和成绩。创建Student类的5个对象,如下所示: 姓名 成绩 刘德华 85 张学友 100 刘杰 65 章子怡 58 周迅 76 将以上5个对象
  19. Soul网关-day16
  20. no module named yum有效解决办法

热门文章

  1. 淘宝批量下单软件 捷易淘宝批量下单软件
  2. 电脑无线如何启用dhcp服务器,win7系统使用无线连接遇到DHCP未启用报错如何解决...
  3. android edittext 过滤英文名称,Android 限制edittext 整数和小数位数 过滤器(详解)
  4. LEAD_LAG:提前和滞后算法
  5. 如何理解3D动画中的欧拉角以及死锁?
  6. 【Excel】excel使用VLOOKUP+IF实现多列匹配查找
  7. 分析ERP审单失败,提示:库存不足的原因及应对方案
  8. 红楼梦java_蒋勋细说红楼梦——缘分告别时的淡淡哀伤
  9. CSS 入门2(样式属性+元素溢出+显示特性+盒子模型)
  10. typescript egg mysql_Egg.js egg-mysql 连接MySQL 报 AppWorkerDiedError 错误