- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- (时延,丢弃)显式拥塞信令.ppt
- (105教师学习社群-宝石国小(核章).doc).doc
- 01-网站内容建设总体规范v0.95.doc.doc
- 0593湖北省工商局市县路由器询价项目需求.doc-湖北省工商行政.doc
- 06级102学时思想政治教育实务大纲.doc.doc
- 1-关于规范教案格式的通知.doc-广东科学技术职业学院.doc
- 1-如东县实验中学.doc
- 1.-广州市职业技能鉴定指导中心.doc
- 1-电源.doc
- 07应用层.ppt.ppt
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)