您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Java面向对象程序设计基础+(2)_IT168文库
第3章Java面向对象程序设计基础付蓉1本讲主要内容定义类创建类的实例对象构造函数访问控制修饰符静态属性、静态方法与静态初始化器最终类、最终属性、最终方法this25.1定义类—简单形式类修饰符class类名{修饰符类型名属性;修饰符类型名方法(参数列表){……}}3类声明-定义类首部//类声明首部,class不要大写,类名首字母大写classQQ{……}publicclassEmployee{……}abstractclassStudent{……}finalclassMaster{……}4类声明定义-修饰符类访问控制符:public:可被任意程序调用缺省:只能被本包(本目录)的程序调用抽象类说明符:abstract没有自己的对象只能被继承最终类说明符:final不能被继承5类的声明-类体声明-属性定义[修饰符]类型变量[=初值];或[修饰符]类对象名[=new构造函数(实参表)]修饰符为:1.访问控制修饰符:控制谁有权访问该属性或者对象zprivate:私有zprotected:保护zpublic:公有zprivateprotected:私有保护62静态修饰符static:类属性,类的所有对象共有的这个属性。区别于对象属性。3最终修饰符final:对于任何一个对象来说都是不变的。classEmployee{staticStringcompanyName=“EasyTech”;staticfinalintMAX_AGE=70;}7类的声明-类体中方法定义[修饰符]返回值类型方法名(参数列表)throws异常名列表{局部变量声明语句序列}例:publicbooleanverifyPassword(StringuserEnteredPwd){if(password.equals(userEnteredPwd)){returntrue;}else{returnfalse;}}//endofverifyPassword8访问控制符:public,protected,private,privateprotected静态修饰符:static抽象修饰符:abstract最终修饰符:final同步修饰符:synchronous本地修饰符:native9类声明举例z类的属性:表明该类对象的性质和状态。z类的方法:对属性进行操作或与其他类或对象进行交互。z举例:见E:\课件:面向对象程序编程\示例代码\ch3\bankzBankCardzAccount105.2创建和使用类的实例对象1、声明类对象:类名对象变量[=new类名(实参表)];例1:Accountacc1,acc2=newAccount();例2:Accountacc1,acc2;acc1=newAccount();acc2=newAccount();声明变量例1:intx,y=0;例2:intx,y;x=0;y=0;112、带参数的初始化Accountacc1=newAccount(’1’,’张三‘,’123’,1000);Accountacc2=newAccount(’2’,’李四‘,’456’,9999);3、使用对象属性:System.out.println(acc1.address);//wrongacc1.balance+=100000;//rightacc1.save(100000);4、使用对象方法:acc1.draw(1000);12对象声明、初始化后的内存分配acc1=newAccount(“1”,”张三“);0x01abcdefnull0NULL0x01abcdef1“张三”Accountacc1;acc1=newAccount();13其他的一些类的例子¾Date:classDate{intday,mon,year;publicvoidsetDay(intd){day=d;}publicintgetDay(){returnday;}……}14其他的一些类的例子¾Force:classForce{doublefx,fy,x,y;}¾Point:classPoint{intx,y;}¾Circle:classCircle{doublex,y,radius;}¾Frame,Applet,Button,Label,ActionEvent¾Rectangle,Triangle,Polygon¾String,IOException155.3构造函数¾构造函数特殊的成员函数,每次实例化对象时执行。¾构造函数的方法名与类名相同。¾构造函数没有返回类型¾不能被程序员显式的调用,只能在初始化对象时调用Accountacc1=newAccount(’1’,’张三‘,’123’,1000);165.4访问控制符-修饰属性和方法zpublic:可以被任何类访问。z缺省:可以被包中任何类访问。zprivate:只能被本类的方法访问。zprotected:本包内和所有的子类。zprivateprotected:所有的子类。175.5静态属性、静态方法和静态初始化器zstatic所修饰的属性属于类,而不属于对象,是类的属性。zstatic返回类型方法名属于类,而不是对象,类的方法zstatic{}z称为静态初始化器,不是方法,用来初始化静态属性。z例static{m_NextEmpNo=1001;}z注意:static方法只能操作同一个类中的static属性,但可以操作其他类的对象,就像在main中所作的那样。185.7最终类、最终属性、最终方法¾finalclass类名finalclassMaster{……}//该类不能有子类¾final类型属性finalintMAX_AGE=30;//该属性为常数¾final返回类型方法名finalpublicvoidsetPwd(Stringpwd){}//该方法不能被覆盖。¾finalize()对象消失时执行的方法¾注意:abstract不能与final合用,为什么?19类和对象的图形表示-UMLCommonEmployeemanagerNamesetManagerName()getManagerName()EmployeeidnamedeptIdgetId()setId()getName()setNaame()getDeptId()setDeptId()Shapearea()Circleradiusarea()RectAnglewidthheightarea()Trianglesideheightarea()20类和对象的图形表示-其他表示方法CustomerJackCustomerJillAccountbalance=100SV129CustomerAccountdepositdeposit2000drawdraw100021类的演示:系统类发明类:自己创建类。发现类:使用已有的类,如:JDK类。22作业区分类和对象定义自己周围的类,至少五个,例如:电话,电脑、作业将前面的输出素数、求级数和的作业,重新设计类,将计算过程和输出结果分为两个类来实现。书上作业:3-5,3-623类声明定义首部---继承或扩展父类classEmployee{intmEmpNo;intmDeptNo;}classCommonEmployeeextendsEmployee{intmManagerNo;}24类声明定义首部-接口接口是一个抽象的类,相当于一种类型,其中的定义的方法都没有实现,需要在实现类中实现。例:publicMyFrameextendsFrameimplementsActionListener{
本文标题:Java面向对象程序设计基础+(2)_IT168文库
链接地址:https://www.777doc.com/doc-3355009 .html