面向对象(类的继承和内部类).ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象(类的继承和内部类) 上讲回顾 初步让学生了解类和对象的概念 掌握java中类和对象的创建方式 构造函数 掌握方法的重载 本讲内容 掌握类的继承 this与super的引用 掌握static /final关键字用法 内部类 继承 继承(inheritance) 继承 子类可以继承父类的一些属性和方法,那么它到底从父类继承了哪些东西呢? 当子类和父类位于同一包中,子类继承父类中 public、protected和默认访问级别的成员变量和成员方法。 当子类和父类不在同一包中:子类继承父类中public、protected访问级别的成员变量和成员方法。 类继承的实现 extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class subclass-name extends superclass-name { //类体 } 没有extends,默认父类为Object 只能有一个父类,即单继承 类继承的实现 继承实现示例 class Person { public String name; public int age; public void getInfo(){ …… } } 示例二 继承实例 例如:动物类派生两栖动物类和哺乳动物类 图形类派生出矩形类和圆类等等 猫类派生出山猫、家猫 见实例:exp1.java 继承的特点 通过继承可以简化类的定义,实现代码的重用 JAVA只支持单继承,不允许多重继承。 可以有多层继承;类B继承类A;类C继承类B; 子类继承父类的成员变量和成员方法,但不继承父类的构造函数 在子类的构造方法中可用super(参数列表)调用父类的构造方法。 如果子类的构造方法中没有显示的调用父类构造方法,也没有使用this关键字调用自己的其他构造方法,那么在产生子类实例对象时JVM自动调用父类无参数的构造方法。 多层继承——形成类层次结构 this引用 this的作用 1、区分类成员属性和方法的形参. 例: class Person { String name; // 名字 public Person(String name){ this.name = name; } } 2、this关键字通常用于return语句中返回当前对象的引用。 见例子:Leaf.java 3、在构造方法中使用this来调用其它构造方法 this引用 class Person { String name; // 名字 int age; //年龄 public Person(String aa) { this.name = aa; System.out.println(name); } public Person(String aa,int age) { this.name = aa; this.age= age; System.out.println(name); System.out.println(age); } public Person() { this(张三,22); // this(李四); // 如果该语句不注释会不会有错呢? } } 在构造方法中使用this 使用格式:this(参数列表) 说明: 构造方法的第一个语句,否则会收到编译程序的报错信息 在构造方法中用this只能调用另外一个构造方法,不能调用两个。 super的使用 访问直接基类中被隐藏的数据成员 调用直接基类中被重写的成员方法 调用直接基类的构造方法 static 关键字 static 可以用于修饰成员变量和成员方法以及类。 静态变量:所有此类实例可共享它,即在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间。直接可通过类名来访问该变量。 静态方法:通常在一个类中定义一个方法为static,那就是说无需实例化本类的对象,可直接通过类名来调用此方法。 静态的代码块:当Java虚拟机加载类时,就会执行该代码块。 static——静态成员 定义静态成员变量: static 类型 成员变量名; 或 static 类型 成员方法名; 在类载入时创建 可以被各实例对象共享 可直接通过“类名.静态成员变量名”的方式访问类的变量,可直接通过”类名.静态成员方法名” 访问类的方法. 注意:不能把方法体内变量声明为静态。 例如 class Person{ static int age = 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档