第8章 继承 抽象类和接口.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第8章 继承 抽象类和接口.ppt》由会员分享,可在线阅读,更多相关《第8章 继承 抽象类和接口.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要内容主要内容8.1 类的继承8.2 抽象类8.3 接口8.4 内部类和匿名类8.5 包类的说明符类的说明符n n类的访问说明符类的访问说明符(1)public(2)friendly(不加访问说明符时)(不加访问说明符时)n n类的其它修饰符类的其它修饰符(1)final(2)abstract类的继承类的继承n n理解继承是理解面向对象程序设计的关键。理解继承是理解面向对象程序设计的关键。n n在在Java中,通过关键字中,通过关键字extends继承一个已有继承一个已有的类,被继承的类称为父类(超类,基类)的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。,新的类称为子类(
2、派生类)。n n子类可以有自己的成员方法及成员变量子类可以有自己的成员方法及成员变量n n如何访问如何访问?n n在在Java中,不允许多继承。中,不允许多继承。特殊变量特殊变量supern n特殊变量特殊变量super,提供了对父类的访问。提供了对父类的访问。n n可以使用可以使用super访问父类被子类隐藏的变量访问父类被子类隐藏的变量或覆盖的方法。或覆盖的方法。n n每个子类构造方法的第一条语句,都是隐每个子类构造方法的第一条语句,都是隐含地调用含地调用super(),如果父类没有这种形式如果父类没有这种形式的构造函数,那么在编译的时候就会报错。的构造函数,那么在编译的时候就会报错。cl
3、ass person public person(int i)System.out.println(“creating person”+i);class student extends person .class test public static void main(String args)person p=new person(2);判断判断:程序将输出程序将输出”creating person 2”class person public person()System.out.println(“person”);class student extends person public st
4、udent()System.out.println(“student”);class test public static void main(String args)new student();new person();写出右边写出右边程序的输程序的输出结果出结果:class person public int m1;public person(int d)m1=d;class student extends person public int m2;public student(int ds,int d)_;/初始化初始化m1为为ds的值的值 m2=d;class test public
5、static voic main(String args)student s=new student(2,3);System.out.println(s.m1+s.m2);1.1.给划线出填给划线出填上合适的语句上合适的语句2.2.请给出程序请给出程序运行结果运行结果方法的覆盖(方法的覆盖(override)n n在子类中定义一个与父类同名、返回类型、在子类中定义一个与父类同名、返回类型、参数类型均相同一个方法,称为方法的覆参数类型均相同一个方法,称为方法的覆盖。盖。n n覆盖发生在子类与父类之间。覆盖发生在子类与父类之间。n n出现覆盖时允许用父类的变量访问子类的出现覆盖时允许用父类的变量访
6、问子类的成员成员n n静态方法静态方法,final修饰的方法均不可被覆盖修饰的方法均不可被覆盖下面哪个方法定义于划线处会导致编译错误下面哪个方法定义于划线处会导致编译错误?class person public float getNum()return 3.0f;public class student extends person _;A.public float A.public float getNUmgetNUm()return 4.0f;()return 4.0f;B.public void B.public void getNUmgetNUm()()C.public void C.
7、public void getNum(doublegetNum(double d)d)D.public double D.public double getNum(floadgetNum(fload d)return 4.0d;d)return 4.0d;public class student extends person public void set()System.out.println(“student”);public static void main(String args)Object a=new student();(person)a).set();请给出程序运行结果请给出程
8、序运行结果class person public void set()System.out.println(“person”);class person void set()System.out.println(in person);static void get()System.out.println(in person get();class student extends person void set()System.out.println(in student);static void get()System.out.println(in student get();person s
9、t1=new student();st1.set();st1.get();student st2=new student();st2.set();st2.get();请给出程序运行结果请给出程序运行结果class person public int m=5;public void print()System.out.print(m);class student extends person public int m=2;public void print()System.out.print(m);person p=new person p=new student();student();p.p
10、rintp.print();();System.out.println(p.mSystem.out.println(p.m););执行如下语句后的结果是执行如下语句后的结果是_class person public void set()System.out.println(person);class student extends person public void set()System.out.println(student);public static void main(String args)mstudent ms=new mstudent();_;class mstudent e
11、xtends person public void set()System.out.println(“mstudent);划线处填写适当语句划线处填写适当语句以输出以输出”personperson”class personclass student extends person public void set()System.out.println(student);public static void main(String args)person p=new student();_;划线处填写哪个语句能输出划线处填写哪个语句能输出”studentstudent”?A.A.p.setp.se
12、t();();B.(B.(person)p.setperson)p.set();();C.(C.(student)p.setstudent)p.set();();D.D.(student)p).setstudent)p).set();();Object 类类n nequals()方法方法n ntoString()方法方法n ngetClass()方法方法 instanceof运算符运算符 getClass().getName()方法方法 getClass().getSupername()方法方法class person void set()System.out.println(person:s
13、et);void fun()System.out.println(“person:fun);this.set();class student extends person void set()System.out.println(student:set:begin);super.fun();System.out.println(“student:set:end);执行下列语句后程序的输出是执行下列语句后程序的输出是?student s=new student();student s=new student();s.sets.set();();final方法方法n为了确保某个函数的行为在继承过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 继承 抽象类和接口 抽象 接口
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内