面向对象特性优秀PPT.ppt
《面向对象特性优秀PPT.ppt》由会员分享,可在线阅读,更多相关《面向对象特性优秀PPT.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象特性第一页,本课件共有32页本章内容this 关键字static 关键字package 和 import 语句 类的继承访问控制方法的重写Object类对象转型多态抽象类接口第二页,本课件共有32页this 关键字在类的方法定义中使用的 this 关键字代表使用该方法的对象使用该方法的对象的引用。当必须指出当前使用方法的对象是谁时要使用this。有时使用this可以处理方法中成员变量和参数重名的情况。public class Leafpublic class Leaf int i=0;int i=0;public Leaf(int i)this.i=i;public Leaf(int
2、i)this.i=i;Leaf increament()Leaf increament()i+;i+;return this;return this;void print()System.out.println(i=+i);void print()System.out.println(i=+i);public static void main(String args)public static void main(String args)Leaf leaf=new Leaf(100);Leaf leaf=new Leaf(100);leaf.increament().increament().
3、print();leaf.increament().increament().print();第三页,本课件共有32页static 关键字静态成员变量在不创建类得对象的情况下,也可以使用,它是所有对象共有的变量,普通成员变量只有在创建了类的对象后才能被使用,与此相反,静态变量可以不先创建对象而直接使用。静态变量的声明如下:static int a;类.a=10;对象.a=20;第四页,本课件共有32页public class Test public class Test static int static int a;a;int b;int b;public static void main(
4、String args)public static void main(String args)Test.a=10;Test t1=new Test();new Test();Test t2=new Test();new Test();System.out.println(t1.a);t1.a=20;System.out.println(t1.a);t2.a=30;System.out.println(Test.a);第五页,本课件共有32页静态方法只有在对象存在的条件下,我们才可以用成员变量和方法。然而,静态方法则不需要首先创建对象,可以直接调用它,在使用静态方法的时候一定要记住不可以在静态
5、的方法中调用非静态的变量,如下程序:public class Test int a;static void setA(int b)a=b;public static void main(String args)Test.setA(10);第六页,本课件共有32页静态变量与静态方法到底在什么方法中才能使用呢?如下程序 public class Test static int a;static void hello()System.out.println(您好.);static void setA(int b)a=b;hello();void printA()System.out.println(
6、a);hello();public static void main(String args)Test.setA(100);Test t=new Test();t.printA();第七页,本课件共有32页package 和 import语句为便于管理大型软件系统中数目众多的类,为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,解决类的命名冲突问题,Java引入包引入包(package)机制,提供类的多重类命名空)机制,提供类的多重类命名空间。间。第八页,本课件共有32页package 和 import语句package 语句作为 Java 源文件的第一条语句,指明该文件中定义的类所
7、在的包。(若缺省该语句,则指定为无名包)。它的格式为:package pkg1.pkg2.pkg3;Java编译器把包对应于文件系统的目录管理,package语句中,用.来指明包(目录)的层次,例如使用语句package com.cstp;则该文件中所有的类位于.comcstp 目录下第九页,本课件共有32页如果将一个类打包,则使用该类时,必须使用该类的全名(例如:com.cstp.MyClass),Java编译器才会在找到该类。也可以使用 import 在文件的开头引入要使用到的类;例如:可以不需要用import语句直接使用 java.lang 包中的类。import com.cstp.My
8、Class;import java.util.*;/引入引入java.util包中所有的类包中所有的类 .MyClass myClass=new MyClass();/可以直接使用类名可以直接使用类名 .第十页,本课件共有32页Package import 总结如果想将一个类放入包中,在这个类源文件第一句话写package必须保证该类的class文件位于正确目录下另外的类想访问的话:写全名引入*具体类名访问位于同一个包中的类不需要引用第十一页,本课件共有32页类的继承与权限控制Java 中使用 extends 关键字实现类的继承机制通过继承,子类自动拥有了基类(superclass)的所有成员
9、(成员变量和方法)。Java只支持单继承,不允许多继承:一个子类只能有一个基类 一个基类可以派生出多个子类例子:TestExtends.java 第十二页,本课件共有32页访问控制Java权限修饰符 public protected private 置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限。对于class的权限修饰只可以用 public 和 default。public类可以在任意地方被访问default类只可以被同一个包内部的类访问修饰符修饰符类内部类内部同一个包同一个包子类子类任何地方任何地方privateYesdefault|packageYesYesprotecte
10、dYesYesYespublicYesYesYesYes第十三页,本课件共有32页方法的重写(OverWrite OverRide)在子类中可以根据需要对从基类中继承来的方法进行重写。重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。重写方法不能使用比被重写方法更严格的访问权限。例子:TestOverWrite.java第十四页,本课件共有32页super 关键字在在JavaJava类中使用类中使用supersuper来引用基类的成分;例如:来引用基类的成分;例如:class FatherClass class FatherClass public int value;public
11、 int value;public void f()public void f()value=100;value=100;System.out.println System.out.println (FatherClass.value=+value);(FatherClass.value=+value);class ChildClass extends FatherClass class ChildClass extends FatherClass public int value;public int value;public void f()public void f()super.f()
12、;super.f();value=200;value=200;System.out.println System.out.println (ChildClass.value=+value);(ChildClass.value=+value);System.out.println(value);System.out.println(value);System.out.println(super.value);System.out.println(super.value);第十五页,本课件共有32页继承中的构造方法1、子类的构造过程中必须必须调用其基类的构造方法。2、子类可以在自己的构造方法中使用
13、super(argument_list)调用基类的构造方法。3.如果使用super,必须写在子类构造方法的第一行。4.如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法。如果子类的构造方法中没有显示地调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。TestSuperSub.java第十六页,本课件共有32页Object类 ObjectObject类是所有类是所有JavaJava类的根基类类的根基类如果在类的声明中未使用如果在类的声明中未使用extendsextends关键字指明其基类,则默认基类为关键字指明其基类,则默认基类为ObjectObject
14、类类 public class Person public class Person.等价于:等价于:public class Person extends Object public class Person extends Object.第十七页,本课件共有32页对象转型一个基类的引用类型变量可以“指向”其子类的对象。一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。可以使用 引用 变量 instanceof 类名 来判断该引用型变量所所“指向指向”的对象的对象是否属于该类或该类的子类。第十八页,本课件共有32页对象转型实例(1)class Animal class Anima
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 特性 优秀 PPT
限制150内