Java培训之类的高级特性

Java培训之类的高级特性

ID:43358913

大小:204.50 KB

页数:27页

时间:2019-10-08

Java培训之类的高级特性_第1页
Java培训之类的高级特性_第2页
Java培训之类的高级特性_第3页
Java培训之类的高级特性_第4页
Java培训之类的高级特性_第5页
资源描述:

《Java培训之类的高级特性》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章类的高级特性回顾类是对象的抽象,将对象的属性和行为抽象为类中的数据和方法。extends关键字用于继承类。super关键字用来解决如何直接访问或初始化从父类继承来的属性。构造函数名称与类的名称相同,且没有返回类型。方法重载和方法覆盖是Java实现多态性机制的方式。2目标掌握类的静态成员掌握final关键字用法掌握抽象类的定义和用法掌握接口的定义和用法掌握高级访问控制了解内部类的概念3类的静态成员类中的静态变量、方法或代码块属于类,而不属于某个特定的对象。类的静态成员可以与类的名称一起使用,而无需创建类的对象。静态变量或方法

2、也称为类的变量或方法。用static修饰符修饰,可以是变量、方法或代码块4静态变量不管创建了类的多少实例,整个类中静态变量的副本只有一个。引用静态变量的方法:通过引用类的任一实例通过类的名称classStaticDemo{staticintx=0;StaticDemo(){x++;}}StaticDemod1=newStaticDemo();StaticDemod2=newStaticDemo();d1.x=100;d2.x=200;testVariable=d1.x;通过类实例访问不是一个好方法StaticDemod1=new

3、StaticDemo();StaticDemod2=newStaticDemo();StaticDemo.x=100;StaticDemo.x=200;testVariable=StaticDemo.x;声明为static的变量实质上就是全局变量通过类名访问5静态方法与静态方法相关的几个要点:类的静态方法只能访问其他的静态成员静态方法没有this静态方法不能被覆盖为非静态方法classStaticFun{staticinti=10;intj;staticvoidsetValue(intx){j=x;//出错System.out.

4、println(""+i);}}不能访问非静态变量j,可以访问静态变量iclassStaticTest{staticvoidtest(){}}classStaticexextendsStaticTest{voidtest(){}//出错}6静态块如果需要通过计算来初始化静态变量,可以声明一个静态块。静态块仅在该类被加载时执行一次。只能初始化类的静态数据成员。classTryInitialization{staticint[]values=newint[10];//静态数组成员static{for(inti=0;i

5、length;i++)values[i]=(int)(100.0*Math.random());}}7final关键字/final类final修饰符可应用于类、方法和变量。final在应用于类、方法和变量时意义是不同的,但本质是一样的:final表示不可改变。声明为final的类不能被继承。final类示例:java.lang.StringfinalclassTestFinal{inti=7;intj=1;voidf(){}}classFurtherextendsTestFinal{}final类不能被继承8final方法在方法

6、声明中使用final关键字向编译器表明子类不能覆盖此方法。在声明类中,一个final方法只被实现一次。如果一个类为final类,那么它的所有方法都为隐式的final方法。classTestFinal{finalvoidf(){}}classFurtherextendsTestFinal{finalvoidf(){}}final方法不能被覆盖9final变量一个变量可以声明为final,这样做的目的是阻止它的内容被修改。声明final变量后,只能被初始化一次,然后就不能对其值进行修改。一个final变量实质上是一个常量。class

7、FinalDemo{publicstaticvoidmain(Stringargs[]){finalintnoChange=20;noChange=30;}}final变量不能被修改10抽象类2-1定义抽象类的目的是提供可由其子类共享的一般形式。子类可以根据自身需要扩展抽象类。抽象类不能实例化。抽象方法没有函数体。抽象方法必须在子类中给出具体实现。abstract修饰符可与类和方法一起使用11抽象类2-2在以下情况下,某个类将成为抽象类:当一个类的一个或多个方法为抽象方法时。当该类为一个抽象类的子类,并且没有为所有抽象方法提供实

8、现细节或方法主体时。当一个类实现一个接口,并且没有为所有抽象方法提供实现细节或方法主体时。12抽象类示例abstractclassEmployee{intbasic=2000;abstractvoidsalary();//抽象方法}classManagerext

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

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

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