1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java第4讲

第4讲:面向对象特征(2) 1 对象与引用 2 类 1 对象与引用 1.1对象的特征 能够动态取得的内存有两种,一种是对象实体,一种数组. 用new申请内存,不需要自己释放不用的内存. 在Java中,定义数组时不必给出数组的大小,因为Java的数组是动态分配的。 数组变量实际上是一个引用变量,因此要实例化才能使用。 例:int Array[]; Array=new int[8]; 1.2对象引用与对象实例 public class xx { public static void main(String[] args) { String s1 = You are hired!; String s2 = You are hired!; s1 = s1.replace(h,f); System.out.println(s1); if (s1==s2) { System.out.println(“一个内存空间”);} else { System.out.println(不是一个内存空间); } } } 2.1类的定义 在Java中所有的类都扩展一个超类(Object) 在源文件中,可以定义多个类,但每次只能定义一个公共类。 每个类编译后都单独产生一个class文件。 一般类都有名字 2.1类定义 类的单继承 关系 2.1 类定义 TrashCar中继承了Car中的两个方法 2.1 类定义 何时选择继承性? IS A 关系 “B是一个A吗?” 如果是则让B做A的子类. 2.1 类定义 2.2类成员定义 类中可以定义的部分包括属性、方法。 每个类都创造了有自己的名字空间,其中方法和变量可以知道彼此的存在,可以使用。 类中也可以定义类(内部类),静态初始化块。 2.2类成员定义 class Demo { public static void main(String args[]) { ABC abc=new ABC(); System.out.println(“abc.pub_i”+abc.pub_i); abc.pub_i=10; abc.show(); } } 2.2类成员定义 protected变量和方法 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用 2.2类成员定义 不同包中的类不能使用 2.2类成员定义 不同包但是是子类 2.2 类成员定义 private 不允许任何其他类存取和调用 volatile 因为异步线程可以访问字段,所以有些优化操作是一定不能作用在属性 transient 属性不是对象持久状态的一部分,不应该把字段和对象一起进行持久化操作。 2.2类成员定义 当子类中的变量名与父类的相同,原来的变量被遮盖. 类成员定义 2.2类成员定义 方法的覆盖(overriding)和重载(overloading) 子孙类中定义的方法和祖先类中某个方法同名,同参数行,则祖先类中的该方法被覆盖. 方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同. 2.2类成员定义 到此为止-----final final在方法之前,防止该方法被覆盖. final在变量之前,定义一个常量. 属于类的变量和方法----static static 在变量或方法之前, 表明它们是属于类的, 2.2类成员定义 静态变量在各实例间共享 如果是public静态变量,则其它类可以不通过实例化访问它们 静态方法称为类的方法,因此不用实例化即可调用(面向过程) 一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量 2.2类成员定义 例:不正确的引用 class StaticError { String mystring=“hello”; public static void main(String args[]) { System.out.println(mystring);} } 错误信息:can’t make a static reference to nonstatic variable. 为什么不正确? 只有对象的方法可以访问对象的变量. 2.2类成员定义 解决的办法: 1. 将变量改称类变量 class StaticError { static String mystring=“hello”; public static void main(String args[]) { System.out.println(mystring);}

文档评论(0)

l215322 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档