第6讲 Jav类的特性.pptVIP

  • 13
  • 0
  • 约1.21万字
  • 约 49页
  • 2016-12-03 发布于河南
  • 举报
第6讲 Jav类的特性

主要内容 Java类和对象的概念 (oop思想-?内功 语言?外功) 类的结构(包含属性和行为)以及如何生成对象 类的3大特性:封装,继承,多态 打包的使用 常用方法:包装类、equals、toString等 this引用 每个方法内部,都有一个this引用变量,指向调用该方法的对象。一般情况下,成员前加不加this都行,这就好像同一个学校的学生在谈论自己学校的事时,不必说学校名字一样,当然为了强调,可以加上“咱们学校”的前缀 但在有些情况下,非得用this关键字不可 1、类成员变量和方法参数名字相同(这有利于程序的可读性,为了区分,使用this关键字) Class Date { int year; public void setDate(int year) { this.year=year;} } this引用(续) 2、构造方法是在对象产生时由Java自动调用的,我们在程序中不能象调用其它方法一样去调用构造方法,但可以在一个构造方法中用this(参数表)的形式来调用另一个构造方法,有时可大大简化程序 注意: this(参数表)必须是使用它的方法的 第一条语句 面向对象编程的特性 我们已经了解了类和对象,现在我们来了解一下面向对象编程的一些特性: 继承、封装、多态 面向对象编程的三大特点 封装性(Encapsulation):实现模块化(modularity)和信息隐藏(information hiding),有利于程序的可移植性。 继承性(Inheritance):可以定义一套对象之间的层次关系,下层的对象继承了上层对象的特性,籍此可以实现程序代码重用,并且有效的组织整个程序。 多态性(Polymorphism):根据程序运行时对象的实例类型来选择不同的信息处理。提高程序的可读性和灵活性。 继承 继承举例 继承 被继承的类称为父类 继承父类的类称为子类 执行继承时,子类将获得父类的属性,并具有自身特有的属性。 extends关键字 extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class subclass-name extends superclass-name { //类体 } Java中所有类都由Object类派生而来,若没有extends,则默认父类为Object(在lang包中) 每个类只能有一个直接父类,即单继承, Java中用接口实现多继承 直接继承和间接继承 直接继承 class A{ } class B extends A //A是B的直接父类 { } 间接继承 class A{ } class B extends A { } class C extends B //A是C的间接父类 { } 继承的例子 成员变量的隐藏 子类通过隐藏父类的成员变量和重写父类的方法,可以把父类的状态和行为改变为自己的状态和行为。 class A{ int x; void setX(){ x = 0; } } class B extends A //A是B的直接父类 { int x; //隐藏了父类中的变量X void setX(){ //重写了父类中的方法setX() x = 5; } } super关键字 Java提供一个super引用变量表示父类 super关键字用来解决如何直接访问或初始化从父类继承来的成员。 在写子类无参数构造方法时,不用显式调用父类无参数构造方法,系统会自动提供 但在写子类带参数构造方法时,应在第一句写super(参数)来初始化父类成员变量 见下页 Super的例子一 class Father { int x; Father(){ x = 3; System.out.println(“Calling Father : x=”+x); } void doSomething(){ System.out.println(“Calling Father.doSomething”); } } 继承示例 class Person { String name; //姓名 int age; //年龄 Person() { name = ”Tom”; age = 18; } Person(String n, int a) { name = n; age = a; } public String getName() { return name; } public int getAge(){ return age;}} 继承的进

文档评论(0)

1亿VIP精品文档

相关文档