java的向上转型.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java的向上转型

 HYPERLINK /jessieca/article/details/1801746 \o Java中的基本类型和引用类型变量的区别 Java中的基本类型和引用类型变量的区别 分类:? HYPERLINK /jessieca/article/category/337716 java语言2007-09-26 15:57?1266人阅读? HYPERLINK /jessieca/article/details/1801746 \l comments 评论(1)? HYPERLINK javascript:void(0); \o 收藏 收藏? HYPERLINK /jessieca/article/details/1801746 \l report \o 举报 举报 基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。 引用类型: 是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。? 举例说明:??? ?int? a;?? ?a=250; //声明变量a的同时,系统给a分配了空间。 引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么,整数,字符?我们看一个错误的例子: MyDate today; today.day = 4; //发生错误,因为today对象的数据空间未分配。 那我们怎么给它赋值?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。举个例子: MyDate today;??????????? //将变量分配一个保存引用的空间 today = new MyDate();???? //这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作 //引用变量赋值 MyDate a,b;??????????????????? //在内存开辟两个引用空间 a? =? new MyDate();??? ?//开辟MyDate对象的数据空间,并把该空间的首地址赋给a b? =? a;????????????????????????????? ?//将a存储空间中的地址写到b的存储空间中 如下图示 引用传递 和 值传递 引用类型:除了在函数传值的时候是引用传递,在任何用=向对象变量赋值的时候都是引用传递。 值传递:基本类型的传递都属于值传递,和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量??输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为值传递。 /*define a class*/ class MyDate{ ??? String? Year; ??? String? Month; ??? String? Day; ??? String? Date; ??? public MyDate(){ ??????? Year = 1900; ??????? Month =01; ??????? Day = 01; ??????? Date = Year + . + Month + .+ Day; ??? } ???? public String toString(){ ??????? return Date; ??? }???? } public class ObjRef{??? ?? MyDate mydate1 = new MyDate(); ?? MyDate mydate2 = mydate1;// = 使 mydate1和 mydate2将指向同一内存空间? ?? //MyDate mydate2 = new MyDate();//从新new一个对象,则mydate1和mydate2是指向不同的内存空间的: ????????????????????????????????? //引用空/间和数据空间都不一样? ?? public void changeObj(MyDate inObj){? ??????? inObj.Date = 2007.09.26; ??? } ??????? ??? public static void main(String[] args) { ??????? ObjRef oRef = new ObjRef(); ??????? System.out.println(Before call changeObj() method: + oRef.mydat

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档