Java基础高级类特性.ppt

Java基础高级类特性.ppt

ID:51620195

大小:586.05 KB

页数:41页

时间:2020-03-26

Java基础高级类特性.ppt_第1页
Java基础高级类特性.ppt_第2页
Java基础高级类特性.ppt_第3页
Java基础高级类特性.ppt_第4页
Java基础高级类特性.ppt_第5页
资源描述:

《Java基础高级类特性.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、高级类特性本章内容static关键字final关键字抽象类(abstract关键字)接口(interface关键字)内部类本章内容static关键字静态属性静态初始化静态方法单子模式理解main方法的语法final关键字抽象类(abstract关键字)接口(interface关键字)内部类当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例

2、如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。关键字static关键字staticclassCircle{privatedoubleradius;publicCircle(doubleradius){this.radius=radius;}publicdoublefindArea(){returnMath.PI*radius*radius;}}创建两个Circle对象Circlec1=newCircle(2.0);//c1.radius=2.0Circlec2=newCir

3、cle(3.0);//c2.radius=3.0Circle类中的变量radius是一个实例变量(instancevariable),它属于类的每一个对象,不能被同一个类的不同对象所共享。上例中c1的radius独立于c2的radius,存储在不同的空间。c1中的radius变化不会影响c2的radius,反之亦然。如果想让一个类的所有实例共享数据,请用类变量关键字static在Java类中声明变量、方法和内部类时,可使用关键字static做为修饰符。static标记的变量或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加

4、‘.’调用。static成员也称类成员或静态成员,如:类变量、类方法、静态方法等。类变量(classVariable)类变量(类属性)由该类的所有实例共享publicclassPerson{privateintid;publicstaticinttotal=0;publicPerson(){total++;id=total;}}Person+total:int=0-id:intp1:Personid=1p2:Personid=2<><>Personp1=newPerson();Personp2=newPers

5、on();类属性类似于全局变量类属性应用举例classPerson{privateintid;publicstaticinttotal=0;publicPerson(){total++;id=total;}publicstaticvoidmain(Stringargs[]){PersonTom=newPerson()Tom.id=0;total=100;//不用创建对象就可以访问静态成员}}publicclassOtherClass{publicstaticvoidmain(Stringargs[]){Person.total=100;//不用创建对象就可

6、以访问静态成员//访问方式:类名.类属性类名.类方法System.out.println(Person.total);Personc=newPerson();System.out.println(c.total);//输出101}}classPerson{privateintid;privatestaticinttotal=0;publicstaticintgetTotalPerson(){returntotal;}publicPerson(){total++;id=total;}}publicclassTestPerson{publicstaticvoi

7、dmain(String[]args){System.out.println("Numberoftotalis"+Person.getTotalPerson());//没有创建对象也可以访问静态方法Personp1=newPerson();System.out.println("Numberoftotalis"+Person.getTotalPerson());}}类方法(classMethod)没有对象的实例时,可以用类名.方法名()的形式访问由static标记的类方法。Theoutputis:Numberoftotalis0Numberoftotali

8、s1类方法在static方法内部只能访问类的static属性,不能

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。