03java类.ppt-湖南大学.ppt

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

哈尔滨工业大学计算机系代亚非 JAVA程序设计 (03) JAVA Programming 湖南大学软件学院 主讲:荣辉桂 Email ronghg@163.com 1.8 Java名字空间及访问规则 每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。 abstract类不能直接产生属于这个类的对象 final类不能被其他任何类所继承(安全的考虑) public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用. friendly(缺省)类只能被本包中的其它类使用 1.8 Java名空间及访问规则 变量和方法的修饰字public、protected、private public: 任何其它类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。 1.8 Java名空间及访问规则 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(); } } 1.8 Java名空间及访问规则 protected变量和方法 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用 1.8 Java名空间及访问规则 不同包中的类不能使用 1.8 Java名空间及访问规则 不同包但是是子类 1.8 Java名空间及访问规则 private 不允许任何其他类存取和调用 friendly(前边没有修饰字的情况) 在同一程序包中出现的类才可以直接使用它的数据和方法. 1.8 Java名空间及访问规则 当子类中的变量名与父类的相同,原来的变量被遮盖. 1.8 Java名空间及访问规则 方法的覆盖(overriding)和重载(overloading) 子孙类中定义的方法和祖先类中某个方法同名,同参数行,则祖先类中的该方法被覆盖. 方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同. 1.8 Java名空间及访问规则 到此为止-----final final在方法之前,防止该方法被覆盖. final在类之前,标是该类不能被继承 final在变量之前,定义一个常量. 属于类的变量和方法----static static 在变量或方法之前, 表明它们是属于类的, 1.8 Java名空间及访问规则 静态变量在各实例间共享 如果是public静态变量,则其它类可以不通过实例化访问它们 静态方法称为类的方法,因此不用实例化即可调用(面向过程) 一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量 一个类的方法只能访问自己的局部变量 例子,请指出下例的输出结果 1.8 Java名空间及访问规则 例:不正确的引用 class StaticError { String mystring=“hello”; public static void main(String args[]) { System.out.println(mystring);} } 错误信息:can’t make a static reference to nonstatic variable. 为什么不正确? 只有对象的方法可以访问对象的变量. 1.8 Java名空间及访问规则 解决的办法: 1. 将变量改成类变量 class StaticError { static String mystring=“hello”; public static void main(String args[]) { System.out.println(mystring);} } 1.8 Java名空间及访问规则 2. 先创建一个类的实例 class NoStaticError { public static void main(String args[]) { String mystring=“hello”; System.out.println(mystring); } } 1.9 Java中抽象类、接口和程序包 抽象类是指不能直接被实例化的类,因此一般作为其它类的超类,与final类正好相反 抽象类中的抽象的方法-在该类中定义但不在该类中提供实现,由继承类提供细节 public abstract class Myclass { void m

文档评论(0)

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

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

1亿VIP精品文档

相关文档