JAVA语言与程序设计-第三讲-03-访问权限及封装性PPT资料.ppt
《JAVA语言与程序设计-第三讲-03-访问权限及封装性PPT资料.ppt》由会员分享,可在线阅读,更多相关《JAVA语言与程序设计-第三讲-03-访问权限及封装性PPT资料.ppt(57页珍藏版)》请在冰豆网上搜索。
classTompublicintweight;
publicintf(inta,intb).1共有变量和共有方法共有变量和共有方法方法f是共有方法当用类当用类Tom创建了一个对象后,该对象创建了一个对象后,该对象可以访问自己的可以访问自己的public变量变量和public方法。
publicintf(inta,intb).1共有变量和共有方法共有变量和共有方法如:
publicintf(inta,intb).classBobvoidg()Tomcat=newTom();
cat.weight=23;
cat.f(3,4);
合法权限表示了对象访问自己的变量和使用类中的方法时的某种限制如:
使用使用public关键字时,它意味着紧随在关键字时,它意味着紧随在public后面的成员声明适用于所有人。
后面的成员声明适用于所有人。
如果Tom类中的某个成员是public类变量,那么在任何一个类中,也可以通过类名Tom来操作Tom的这个类成员变量。
如果Tom类中的某个方法是public类方法,那么我们在任何一个类中,也可以通过类名Tom来调用Tom类中的这个public类方法。
.1共有变量和共有方法共有变量和共有方法如:
classTompublicstaticfloatweight;
publicstaticfloatf(floata,floatb)floatc;
c=a+b;
returnc;
classBobfloatx,y;
voidg()x=Tom.weight;
y=Tom.f(10,20);
通过类名Tom来操作类变量和类方法通过类名Tom来操作类变量和类方法如:
应减少应减少public属性的使用属性的使用.2私有变量和私有方法私有变量和私有方法用用private修饰的成员变量和修饰的成员变量和方法称为私有变量和私有方法。
方法称为私有变量和私有方法。
private私有访问控制符私有访问控制符私有的int型变量如:
classTomprivateintweight;
privateintf(inta,intb).方法f是私有方法private当在另外一个类中用类当在另外一个类中用类Tom创建了一个对象创建了一个对象后,后,该对象不能访问自己的私有变量该对象不能访问自己的私有变量和方法和方法。
privateintf(inta,intb).如:
privateintf(inta,intb).classBobvoidg()Tomcat=newTom();
private非法private私有私有访问控制符:
访问控制符:
用用private修饰的属性或方法修饰的属性或方法只能被该类自身所访问和修改,而只能被该类自身所访问和修改,而不能被任何其他类,包括该类的子不能被任何其他类,包括该类的子类直接访问。
类直接访问。
classExpprivateintmoney;
Exp()money=2000;
privateintgetMoney()returnmoney;
publicstaticvoidmain(Stringargs)Expexa=newExp();
exa.money=3000;
intm=exa.getMoney();
System.out.println(money=+m);
【程序案例2.23】classExpprivateintmoney;
私有变量可以被私有变量可以被该类自身所访问和修改该类自身所访问和修改私有变量私有方法可被私有变量私有方法可被该类自身所访问和修改该类自身所访问和修改同一类中【例】classExpprivateintmoney;
私有变量私有方法可被私有变量私有方法可被该类自身所访问和修改该类自身所访问和修改【程序案例2.23】private关键字意味着,只有在本类中创建该类的关键字意味着,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类对象时,这个对象才能访问自己的私有成员变量和类中的私有方法,这似乎将类与我们自己都隔离起来。
中的私有方法,这似乎将类与我们自己都隔离起来。
对象访问私对象访问私有成员变量有成员变量classTVprivateintcolor;
privateintsize;
TV(intx,inty)color=x;
size=y;
例如:
分析程序,思考问题?
类中成员变量类中成员变量分别是什么变量?
分别是什么变量?
应知测试:
classTVprivateintcolor;
不能被任何其他类,包不能被任何其他类,包括该类的子类直接访问括该类的子类直接访问私有变量私有变量对象中的属性一般应设计为只能被同一对象中的方法访问。
publicintgetColor()returncolor;
publicintgetSize()returnsize;
外界通过对象的这些方法访问对象的属性对同一封装中的属性进行处理的方法可通过该方法获取私有成员变量的值私有成员变量的值私有变量可以被私有变量可以被该类自身所访问和修改该类自身所访问和修改setColor(intx)color=x;
setSize(intx)size=x;
对封装中的属性进行处理的方法可通过该方法设置私有成员变量的值私有成员变量的值可通过该方法设置私有成员变量的值私有成员变量的值对象中应设计有对同一封装中的属性进行存、取等处理的方法。
使外界可以通过对象的方法访问对象的属性classAppTVtvA=newTV(0,220,29);
TVtvB=newTV(2,220,34);
.tvA.setColor(7);
System.out.println(“SizeoftvBis”+tvB.getSize();
.外界通过对象的方法访问对象的属性外界通过对象的方法访问对象的属性.3友好变量和友好方法友好变量和友好方法缺省的访问通常称为友好访问,缺省的访问通常称为友好访问,这种访问不用修饰符(这种访问不用修饰符(private、public、protected)进行修饰。
)进行修饰。
缺省缺省访问控制访问控制假如一个类无访问控制符假如一个类无访问控制符就具有包访问控制特性就具有包访问控制特性友好访问友好访问也称为也称为包访问性包访问性不用修饰符的成员变量和方法被称为友好变量和友好方法。
缺省缺省访问控制访问控制包访问性包访问性:
规定规定友好变量和和友好方法方法只能被同一个包中的其他类只能被同一个包中的其他类,所访问和调用。
所访问和调用。
缺省缺省访问控制访问控制如:
classTomintweight;
intf(inta,intb).classBobvoidg()Tomcat=newTom();
友好的float型变量方法f是友好方法缺省缺省访问控制访问控制如:
设:
类设:
类Bob与类与类Tom在同一个包中,在同一个包中,则对象cat能访问自己的友好变量和友好方法。
友好访问允许我们将相关的类都组合到同一个友好访问允许我们将相关的类都组合到同一个文件夹内(即同一个包内),方便它们的友好成员之文件夹内(即同一个包内),方便它们的友好成员之间相互访问。
我们便间相互访问。
我们便“拥有拥有”了那个包内的代码。
了那个包内的代码。
缺省缺省访问控制访问控制在任何一个与Tom同一包中的类中,都可以通过Tom类的类名访问Tom类的友好的类变量和友好的类方法。
案例classTomstaticfloatweight;
staticfloatf(floata,floatb)floatc;
通过Tom类的类名访问友好的类变量和友好的类方法缺省缺省访问控制访问控制注:
注:
1在在同同一一源源文文件件中中编编写写命命名名的的类类总总是在同一包中的。
是在同一包中的。
2如如果果源源文文件件中中用用import语语句句引引入入了了另另外外一一个个包包中中的的类类,并并用用该该类类创创建建了了一一个个对对象象,那那么么该该类类的的这这个个对对象象将将不不能能访问自己的友好变量和友好方法。
访问自己的友好变量和友好方法。
【例例】:
定义了一个名为:
定义了一个名为dessert的包: