10面向对象程序设计进阶(上)a

上传人:第*** 文档编号:54445930 上传时间:2018-09-13 格式:PPT 页数:16 大小:199KB
返回 下载 相关 举报
10面向对象程序设计进阶(上)a_第1页
第1页 / 共16页
10面向对象程序设计进阶(上)a_第2页
第2页 / 共16页
10面向对象程序设计进阶(上)a_第3页
第3页 / 共16页
10面向对象程序设计进阶(上)a_第4页
第4页 / 共16页
10面向对象程序设计进阶(上)a_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《10面向对象程序设计进阶(上)a》由会员分享,可在线阅读,更多相关《10面向对象程序设计进阶(上)a(16页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计(上),目标,理解继承,学会在编程中使用继承 掌握访问修饰符的用法 理解方法覆盖 掌握super关键字的用法,类的继承,继承的特点 面向对象的重要特征 可以实现代码的复用 子类可继承父类的方法和属性。 类的构造器不能被继承,继承的层次结构,所有类的父类,一个类可以有多个子类,但是只能有一个父类,类继承语法,类继承的基本语法: 在Java中,一个类只能继承一个父类,这种方式叫做单继承。这一点和C+不一样。, class extends * ,继承示例1,public class Animal private int weight; public int getWeight() r

2、eturn weight; public void setWeight(int w) weight=w; ,public class Dog extends Animal /* *子类新增方法 */ public void Bark() System.out.println(“WangWang“); ,继承示例2,public class MyDog private static Dog myDog; public static void main(String args) myDog=new Dog(); myDog.setWeight(50); System.out.println(“My

3、 Dogs Weight is“+myDog.getWeight(); myDog.Bark(); ,父类方法,子类方法,访问控制,修饰符(modifier) 在类、类的属性以及类的方法前面加修饰符可限定其访问权限,实现其在一定范围内的信息隐藏。,default不是一个修饰符,而是表示一种不加任何修饰符时的状态,default,方法覆盖(override),子类可以改写父类的方法及命名和父类成员变量同名的成员变量。 方法覆盖的原则 覆盖方法必须和父类中被覆盖方法具有相同的方法名称、输入参数和返回值类型。 覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。 覆盖方法不能比父类中被覆盖方法抛出更

4、多的异常,方法覆盖示例,public class Person String name; int age; String sex; public String showName() return name; ,public class Teacher extends Person private String department; public void setDepartment(String dept) department = dept; public String getDepartment() return department; /方法覆盖 public String showN

5、ame() return name+“老师“; ,super 关键字,super 关键字的用法 访问父类被隐藏的成员变量 super.variable 访问父类中被重写的方法 super.method(paramlist) 访问父类的构造器 super(paramlist),super关键字示例,class SuperClass int x; SuperClass( ) x=3; System.out.println(“in SuperClass : x=“ +x); void doSomething( ) System.out.println(“in SuperClass.doSomethi

6、ng()”); ,class SubClass extends SuperClass int x; SubClass( ) super( ); /调用父类构造器 x=5; /super( ) 要放在方法中的第一句 System.out.println(“in SubClass :x=“+x); void doSomething( ) super.doSomething( ); /call method of superclass System.out.println(“in SubClass.doSomething()”); System.out.println(“super.x=”+supe

7、r.x+“sub.x=”+x) public static void main(String args) SubClass subC=new SubClass(); subC.doSomething(); ,in SuperClass: x=3 in SubClass: x=5 in SuperClass.doSomething() in SubClass.doSomething() super.x=3 sub.x=5,方法的重载,同一个类中方法名相同时,称为方法的重载(overload) 例如: public void println(int i); public void println(char c); public void println(String s); 重载的方法必须有不同的参数列表 参数类型不同; 参数个数不同,构造器的重载,除了方法外,类的构造器也可以实现重载 类的构造器可以相互调用,调用方式是使用this关键字来实现,小结,继承 访问控制 方法重写 super关键字 方法重载,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号