学习Java类的属性-武汉北大青鸟

Public、private、protected显示了三种类中的属性和服务的类型,public是可以随意访问的、private是外界不能访问的(显示了数据的封装性)、protected说明数据是受保护的。下面就来详细讲述一下这三个究竟有什么区别。

首先要了解一下包的概念。有若干个类,它们相互之间有一定的关系,那么就可以定义一个包容纳这些类,包不仅仅只能包含类,它可以拥有类、接口、构件、节点、协作,包内还可以包含包。

现在就让我们来具体讨论一下这三个种类的不同之处。

on error resume next ShockMode = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))

作为public的类和属性是可以被外界任意调用的,无论是在类中,还是跨越类的访问(如果不属于同一个包,就要调用import语句,添加包名),这一点是非常好理解的。

Private的属性和方法是最自私的,它定义的属性和方法只能在本类中使用,到类外,是无论如何都不能被使用的,如:

class Date

{

private int day;

public void tomorrow()

{

this.day = this.day + 1;

}

}

public class DateUser

{

public static void main(String args[])

{

Date mydate = new Date();

mydate.day = 21; //注意这句话是错的

}

}

在这个程序中,创建了一个Date类的对象mydate,这是可以的,但是由于类Date中的day是私有变量,所以,创建的这个对象mydate不能通过mydate.day来访问这个属性,如果在其它类中要使用这个私有变量,那么只能通过Date中的public的方法来访问这个属性,这样,就很好的保证了数据的封装性,就像面向对象中提到的报刊亭的故事一样,购买报刊的人不能自己伸手进去拿报纸或是找零钱,而只能由报刊亭内部人员来处理这些事情一样。在上面的例子中,大家可以发现,类Date中的默认方法(Date())并没有定义它的类型,这就意味着它是友好的,也就是意味着它在本包内是public的,而在外包内是private的。但是一旦把它的类型定义为private,那么连Date mydate = new Date()也会出错,这是因为默认的构建器已经被定义为private类型,也就是即使是本包内的其他类也不能访问了。

on error resume next ShockMode = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))

对于protected就要考虑到包的概念,如果有两个类,如:Date和DateUs

java中蛇的属性有哪些_学习Java类的属性相关推荐

  1. 关于java中数据类型叙述正确的是( )_关于Java中数据类型叙述正确的是:

    [判断题]图像的分辨率是指图像单位面积上的象素个数. [填空题]9. Together with the development of bourgeois relationships and form ...

  2. 在java中下列描述错误的是_在 JAVA 中 , 关于类的方法 , 下列描述错误的是 ()._学小易找答案...

    [多选题]价值的特性是 [简答题]输入任一字符串,统计其中数字,字母及其它字符个数 .(25分) [填空题]1.产品整体包括哪五个基本层次 2核心层次产品最基本的层次,是产品的_____ [单选题]纸 ...

  3. java中数值023是什么类型_【Java 教程(原创)】023.参数传值——引用类型参数的传值...

    马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 零度非安全 于 2017-3-12 14:03 编辑 点击图片穿越到 索引帖,听说有惊喜 ...

  4. java中访问控制修饰符什么含义_关于Java中访问控制修饰符的来由及浅解

    在Java中,制作者为我们提供了一种非常简洁方便地分类管理工作中需要用到的类的概念,就是"包".既然有了这个包,那么我们编写的类就存在于这个定义好的包中了.由于需求的限制,大部分类 ...

  5. java未知对象调用其某个方法_引用一个类的属性或调用其方法,必须以这个类的对象为前缀。...

    [多选题]根据<建设工程项目管理规范>(GB/T50326-20 17 )施工项目经理应履行的职责有( ) [判断题]数组作参数被使用时,数组名后必须加方括号 [判断题]方法中最多能有一个 ...

  6. Java中什么是字符串的拷贝_关于java中字符串对象的拷贝

    1两种数据类型 java中有两种数据类型: 基本数据类型 引用数据类型 基本数据类型有整型.浮点型的数字常量和字符常量,而类是引用数据类型,所谓引用就是一个对象等于另外一个对象时(前提同一类),都使用 ...

  7. java中的可检查和不检查_检查Java测试中发生了什么

    java中的可检查和不检查 有人想到了在Java单元测试中使用try和catch块的想法: @Test public void test() { try { callSomeCode(); } cat ...

  8. java中的五种排序方法_用Java排序的五种有用方法

    java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...

  9. java中如何调用dal接口案例_关于Java:接口的目的

    好吧,我认为接口是一种强制对象实现一定数量功能的方法,而不必使用继承.有点像合同.我半明白他们的意思. 但是,如果界面中的所有内容都是: public interface animal{ void e ...

最新文章

  1. java cdata xml 解析,如何解析lt;![CDATA []]gt;的XML
  2. python的setting怎么找_python-DJANGO_SETTINGS_MODULE如何配置
  3. 面试官:Redis的事务满足原子性吗?
  4. c语言变长数组_2018级C语言大作业 - 祖玛
  5. golang mysql封装_自己封装的golang 操作数据库方法
  6. HttpUtility.UrlEncode 方法
  7. 深度学习之----双线性插值,转置卷积,反卷积的区别与联系
  8. 2. XML 的用途
  9. 用友nc的java插件下载,用友nc插件下载|
  10. Idea 中图片资源无法加载问题
  11. 黑白群晖 进阶篇 不得不注意的情况
  12. MATLAB 转置与共轭转置、在legend中输入数字、求频偏的小收获
  13. 时间序列分析ARMA模型原理及Python statsmodels实践(下)
  14. geos linux编译,geos库交织编译生成ARM平台库
  15. 【Udacity项目】TMDb电影数据集探索分析
  16. 抽象类是不是必须要有抽象方法
  17. 代码翻译尝试-使用Roaster解析和生成Java源码
  18. vue view design 图标选择器
  19. 标定学习笔记(九)-- 利用空间正交约束的相机自标定和三维重建
  20. Acrobat Pro DC 教程:了解 Acrobat Pro DC 界面

热门文章

  1. python逆转字符串封装_Python 实现文本操作之逆转字符串
  2. python 相关性检验_在Python中计算Pearson相关性和重要性
  3. linux交换分区的目录,linux 下的交换分区及根目录
  4. java单线程循环调度_Java基础篇之Java线程模型
  5. 计算机软件资源包括哪些部分组成,操作系统的计算机系统资源包含哪些
  6. 网络配置_Linux网络环境配置
  7. 卖任小龙java视频,任小龙Java大神之路(第九季 SpringMVC)视频教程叩丁狼教育出品...
  8. java常量信用_JAVA常量
  9. 计算机考研择校分析,上海地区计算机考研择校分析
  10. Java取模函数,再不刷题就晚了!