Chap02_对象与类.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
class Employee { String name; //姓名 char sex; //性别 Employee(String n, char s){ name = n; sex = s; } public String getName() { return name; } public char getSex(){ return sex;}} class Worker extends Employee { char category;//类别 boolean dressAllowance; //是否提供服装津贴 Worker(String n,char s,char c,boolean d){ super(n,s); category = c; dressAllowance = d; } public char getCategory(){return category;} public boolean getAll(){ return dressAllowance; } } class InheDemo { public static void main(String args[]) { Worker w = new Worker(M.John,M,B,true); System.out.println(工人信息); System.out.println(姓名 : +w.getName()); System.out.println(性别 : +w.getSex()); System.out.println(类别 : +w.getCategory()); if(w.getAll()) System.out.println(提供服装津贴); else System.out.println(“未提供服装津贴”); } } 方法覆盖是Java实现多态性机制的另一种方式。 在类层次结构中,如果子类中的一个方法与父类中的方法有相同的方法名并具有相同数量和类型的参数列表,这种情况称为方法覆盖。 当一个覆盖方法通过父类引用被调用,Java根据当前被引用对象的类型来决定执行哪个版本的方法。 可以通过super关键字调用直属父类中被覆盖的方法版本。 方法重载是Java实现面向对象的多态性机制的一种方式。 同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。 返回类型不同并不足以构成方法重载。 当重载方法被调用时,编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。 class Calculation { public void add( int a, int b) { int c = a + b; System.out.println(两个整数相加得 + c); } public void add( float a, float b){ float c = a + b; System.out.println(两个浮点数相加得+c); } public void add( String a, String b) { String c = a + b; System.out.println(两个字符串相加得 + c); } } class CalculationDemo { public static void main(String args[]) { Calculation c = new Calculation(); c.add(10,20); c.add(40.0F, 35.65F); c.add(早上, 好); } } 编译器决定调用版本 Java 为每一个类自动提供缺省构造函数 缺省构造函数将成员变量的值初始化为缺省值 一旦创建了自己的构造函数,缺省的构造函数将不复存在。 重载构造函数提供了一组创建对象的方式,可以根据需要决定是否带初始参数。 public class constructOverload { int x; constructOverload() { x=0; System.out.println(不带参数的构造函数); } ? constructOverload(int x){ this.x=x; System.out.println(带一个参数的构造函数); } } 方法覆盖是Java实现多态性机制的另一种方式。 在类层次结构中,如果

文档评论(0)

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

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

1亿VIP精品文档

相关文档