覆盖和重载的区别Object类终结类、终结方法抽象类、抽.ppt

覆盖和重载的区别Object类终结类、终结方法抽象类、抽.ppt

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

主要内容: * 类的继承 * 继承时候的构造方法 * 隐藏和覆盖 * 重载、覆盖和重载的区别 * Object类 * 终结类、终结方法 * 抽象类、抽象方法 * 接口 一、类的继承关系 TrashCar中继承了Car中的两个方法 何时选择继承性 一个很好的经验: “B is A?”,如果是则让B做A的子类 一、类的继承 子类可以访问父类中的成员变量和成员方法? 1、父类中的公有(public)成员,可以被子类直接访问。 2、父类中的私有(private)成员,不能被子类直接访问,但是父类如果提供了公有的方法来访问其私有成员,则子类可以通过父类的公有方法来访问私有成员。 e.g public class B{ public int a=10; private int b=11; protect int c=12; public int getB(){return b;} } public class A extends B{ public void tryVariables() { System.out.println(a+b+c+getB()); } } 二、继承时候的构造方法 构造方法是一种特殊的方法,可以重载,不能从父类继承。 有继承时,构造方法遵循的原则: 1、子类不能继承父类的构造方法; 2、子类可以调用父类的某一个构造方法 super();super(name,adress); 3、子类的构造方法没有明确调用父类的构造方法,则系统在执行子类的构造方法时会自动调用父类的默认构造方法(无参数的构造方法) 4、若子类的构造方法中调用了父类的构造方法,则调用语句必须是子类构造方法的第一句 public class Person{ protect String name,address; public Person(){ this(“”, “”);} public Person(String aName,String anAddress){ name=aName; address=anAddress; } }//父类 public class Employee extends Person{ protect int employeeNumber; protect String workPhoneNumber; public Employee(){ this(0, “”); } public Employee(int aNumber,String aPhoneNumber){ employeeNumber=aNumber; workPhoneNumber=aPhoneNumber; } } public class Professor extends Employee{ protected String research; public Professor(){ super(); research=“”; } public Professor(int aNumber,String aPhoneNumber,String aResearch){ super(aNumber,aPhoneNumber); research=aResearch; } } 习题1、有关类Demo,哪句描述是正确的?   public class Demo extends Base{   private int count;   public Demo(){    System.out.println(A Demo object has been created);   }   protected void addOne() {count++; }   } A 当创建一个Demo类的实例对象时,count的值为0。 B 当创建一个Demo类的实例对象时,count的值是不确定的。 C 超类对象中可以包含改变count 值的方法。 D Demo的子类对象可以访问count。 练习2、当编译和运行下列程序段时,会发生什么?   class Base {}   class Sub extends Base {}   class Sub2 extends Base {}   public class CEx{    public static void main(String argv[]){    Base b = new Base();    Sub s = (Sub) b;    }   } A 通过编译和并正常运行。 B 编译时出现例外。 C 编译通过,运行时出

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档