教学课件-面向对象程序设计.ppt
类成员变量-例classChinese{staticStringcountry=中国;//定义静态变量country并初始化Stringname;intage;voidshout(){(啊!我爱你——+country); //类中的成员方法也可以直接访问静态成员变量}}classTestChinese{publicstaticvoidmain(Stringargs[]){System.out.println(Chinesecountryis+Chinese.country); //未创建对象直接使用“类名.变量名”格式Chinesech1=newChinese();(我们的祖国是+ch1.country);//创建了对象直接使用“对象名.变量名”格式ch1.shout();}}实例成员方法体中既可以访问类成员变量,也可以访问实例成员变量,且只能通过对象来调用。1类成员方法体中只能访问类成员变量,不能访问实例成员变量。但是类成员方法既可以通过对象来调用,也可以通过类名调用。2类的成员方法也分为:实例成员方法和类成员方法类成员与实例成员类成员与实例成员classdog{floatx()//实例方法{…return…}staticinty();//类方法{…return…}}类方法在不创建对象的时候也可以被调用。若一个方法被声明为类方法,则它只能对类变量进行操作,且象类变量一样,类的所有实例对象共享同一个类方法。如下例:Main方法就是静态方法,它在程序执行时,由JVM自动调用,而不用先创建对象类成员与实例成员classtest{inta=3;staticintb;floatf(intx,inty){a=x;b=y;//变量引用合法,因为f为实例方法returnx*y;}staticfloatg(intx,inty){a=x;b=2*a;//变量a引用不合法,因为g为类方法,而a为实例变量returnx*y;}}publicclassClass14{inta;staticvoidsetA(intb){a=b;}publicstaticvoidmain(String[]args){Class14.setA(10);}}错误在于在静态方法中调用了非静态变量,a是成员变量,只有在创建对象后才可以使用类方法多态性多态性(Polymorphism):是指允许不同类的对象对同一消息作出各自的响应,即以统一的风格处理已存在的数据及相关的操作。多态性语言具有灵活、抽象、行为共享、代码共享的优势,较好地解决了应用程序中方法同名的问题OOP的优越性从面向过程到面向对象是程序设计技术的一个飞跃。人们之所以要采用面向对象的程序设计技术,其目的在于:提升程序的开发与运行效率提高代码的可重用性(或者称为复用性)按照与人类习惯思维方法一致的原则开发系统OOP的优越性(续)总之,面向对象的程序设计,能够有效分解、降低问题的难度与复杂性,提高整个求解过程的可控制性、可监视性和可维护性,从而获得较高的开发效率与可靠效果提高程序的可靠性与可维护性提高程序的可扩展性增强程序的可控制性在面向对象的程序设计中,将数据与对数据进行的操作合起来定义为类。01类是将数据和与数据相关的操作封装在一起的集合体,用来定义一组对象共同具有的状态(属性)和行为(方法)的模板。02类是一种复杂的数据类型,它不但包含数据,还包含了对数据进行操作的方法(Method),通常将类中的数据称为成员变量,而操作数据的方法称为成员方法,二者统称为类的成员。03类的定义类声明{类主体}Java类的定义格式如下:01类声明定义该类的名称、访问权限、与其他类的关系以及实现的接口等。类主体定义该类中的成员,包含成员变量和成员方法。成员方法是用来描述对成员变量进行的操作,不但定义方法,一般还要实现该方法。说明:02类的定义[修饰符]