《Java2网络编程基础》 第四章 类的高级特性

Java2网络编程基础 4 第四章 类的高级特性 Designed by Chiyong C2005
1 Designed by Chiyong,©2005 Java2 网络编程基础 类的高级特性 第四章

回顾 类是对象的抽象,将对象的属性和行为抽 象为类中的数据和方法。 extends关键字用于继承类。 super关键字用来解决如何直接访问或初始 化从父类继承来的属性。 构造方法名称与类的名称相同,且没有返 回类型。 方法重载和方法重写是Java实现多态性机 制的方式。 Designed by Chiyong C2005
2 Designed by Chiyong,©2005 回顾 • 类是对象的抽象,将对象的属性和行为抽 象为类中的数据和方法。 • extends 关键字用于继承类。 • super关键字用来解决如何直接访问或初始 化从父类继承来的属性 。 • 构造方法名称与类的名称相同,且没有返 回类型。 • 方法重载和方法重写是Java实现多态性机 制的方式

目枥 掌握类的静态成员 掌握fna关键字用法 掌握抽象类的定义和用法 掌握接口的定义和用法 掌握高级访问控制 了解内部类的概念 Designed by Chiyong C2005
3 Designed by Chiyong,©2005 目标 • 掌握类的静态成员 • 掌握final关键字用法 • 掌握抽象类的定义和用法 • 掌握接口的定义和用法 • 掌握高级访问控制 • 了解内部类的概念

类的静态成员。。思停饰符修 方法或代码 类中的静态变量、方法或代码块属于类, 而不属于某个特定的对象。 类的静态成员可以与类的名称一起使用, 而无需创建类的对象。 静态变量或方法也称为类变量或类方法。 思考:引入静态成员的意义? Designed by Chiyong C2005
4 Designed by Chiyong,©2005 类的静态成员 • 类中的静态变量、方法或代码块属于类, 而不属于某个特定的对象。 • 类的静态成员可以与类的名称一起使用, 而无需创建类的对象。 • 静态变量或方法也称为类变量或类方法。 用static修饰符修 饰,可以是变量、 方法或代码块 思考:引入静态成员的意义?

静态变量 声明为 Istatic的变量实质 就是全局变量 不管创建了类的多少实例,整个类中静态 变量的副本只有一个。 引用静态变量的方法:|018 aticDemo c 通过引用类的任一实例 staticDemo()《x+: 通过类的名称 s七 aticDemo c1 new i staticDemo d1 new StaticDemo () StaticDemo d2= new i staticDemo d2 new staticDemo( d1 100 通过 staticDemo.x=100; d2.x=200; 不是 StaticDemo,x=200,通过类名访问 testVariable d1.xi testvariable StaticDemo xi Designed by Chiyong C2005
5 Designed by Chiyong,©2005 静态变量 • 不管创建了类的多少实例,整个类中静态 变量的副本只有一个。 • 引用静态变量的方法: - 通过引用类的任一实例 - 通过类的名称 class StaticDemo { static int x = 0; StaticDemo(){x++;} } StaticDemo d1 = new StaticDemo(); StaticDemo d2 = new StaticDemo(); d1.x = 100 ; d2.x = 200; testVariable = d1.x; 通过类实例访问 不是一个好方法 StaticDemo d1 = new StaticDemo(); StaticDemo d2 = new StaticDemo(); StaticDemo.x = 100; StaticDemo.x = 200; testVariable = StaticDemo.x; 声明为static的变量实质 上就是全局变量 通过类名访问

静态方法 与静态方法相关的几个要点: 类的静态方法只能访问其他的静态成员 静态方法没有this ■静态方法不能被重写为非静态方法 class staticFun s七a七 ic int i=10 int J i static void sety class StaticTest i j=x;//出错 static void testo t System out.pr class statice extends staticTesti <硎蕩翡 卡静 void test(){}//出错 静态 Designed by Chiyong C2005
6 Designed by Chiyong,©2005 静态方法 • 与静态方法相关的几个要点: ▪ 类的静态方法只能访问其他的静态成员 ▪ 静态方法没有this ▪ 静态方法不能被重写为非静态方法 class StaticFun { static int i = 10; int j; static void setValue(int x) { j=x;//出错 System.out.println(" "+ i); } } 不能访问非静态变量j, 可以访问静态变量i class StaticTest { static void test() { } } class Staticex extends StaticTest{ void test() {}//出错 }

静态块 如果需要通过计算来初始化静态变量,可以 声明一个静态块。 静态块仅在该类被加载时执行一次。 只能初始化类的静态数据成员。 class TryInitialization t static int[] values= new int[10];//静态数组成员 static for (int i=0: i<values. length; 1++) values [i] =(int)(1000*Math. random))i Designed by Chiyong C2005
7 Designed by Chiyong,©2005 静态块 • 如果需要通过计算来初始化静态变量,可以 声明一个静态块。 • 静态块仅在该类被加载时执行一次。 • 只能初始化类的静态数据成员。 class TryInitialization { static int[] values = new int[10]; //静态数组成员 static { for(int i=0; i<values.length; i++) values[i] = (int)(100.0*Math.random()); } }

fina关键字fna类 final修饰符可应用于类、方法和变量。 fina在应用于类、方法和变量时意义是不同的 但本质是一样的:fna表示不可改变 声明为fina的类不能被继承 final类示例: final class TestFinal java. lang String int int 3 =1 void fo ( class Further extends TestFinal fina类不能被继承 Designed by Chiyong C2005
8 Designed by Chiyong,©2005 final 关键字/final类 • final 修饰符可应用于类、方法和变量。 • final在应用于类、方法和变量时意义是不同的, 但本质是一样的:final表示不可改变。 • 声明为final的类不能被继承。 • final 类示例: java.lang.String final class TestFinal { int i = 7; int j = 1; void f() {} } class Further extends TestFinal {} final类不能被继承

final方法 在方法声明中使用 final关键字向编译器表 明子类不能覆盖此方法 在声明类中,一个fina方法只被实现一次。 如果一个类为fna类,那么它的所有方法 都为隐式的fna方法。 class TestFinal final void fo(] class Further extends TestFinal final void fo( fina方法不能 被覆盖 Designed by Chiyong C2005
9 Designed by Chiyong,©2005 final 方法 • 在方法声明中使用final 关键字向编译器表 明子类不能覆盖此方法。 • 在声明类中,一个 final 方法只被实现一次。 • 如果一个类为 final 类,那么它的所有方法 都为隐式的 final 方法。 class TestFinal { final void f() {} } class Further extends TestFinal { final void f(){} } final方法不能 被覆盖

final变量 个变量可以声明为fnal,这样做的目的 是阻止它的内容被修改。 声明fnal变量后,只能被初始化一次,然 后就不能对其值进行修改。 个fna变量实质上是一个常量。 class FinalDemo i public static void main(String args[])i final int noChange 20 noChangeX= 30 fina变量不能被 修改 Designed by Chiyong C2005
10 Designed by Chiyong,©2005 final 变量 • 一个变量可以声明为final,这样做的目的 是阻止它的内容被修改。 • 声明final变量后,只能被初始化一次,然 后就不能对其值进行修改。 • 一个final变量实质上是一个常量。 class FinalDemo { public static void main(String args[]){ final int noChange = 20; noChange = 30; } } final变量不能被 修改
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java2网络编程基础》 第三章 类,对象和包.ppt
- 《Java2网络编程基础》 第二章 Java编程基础.ppt
- 《Java2网络编程基础》 第一章 JAVAJava编程简介.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第四章 需求分析.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第十章 面向对象方法学引论.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第六章 详细设计.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第八章 软件测试.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第五章 总体设计.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第二章 软件生命周期及软件开发模式.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第九章 软件维护.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第三章 计算机系统工程.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第七章 编码.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第一章 软仵危机与软件工程.ppt
- 《Thinking in Java》中文版 致读者.pdf
- 《Thinking in Java》中文版 介绍.pdf
- 《Thinking in Java》中文版 第九章 用异常来处理错误.pdf
- 《Thinking in Java》中文版 第八章 接口与内部类.pdf
- 《Thinking in Java》中文版 第七章 多态性.pdf
- 《Thinking in Java》中文版 第六章 复用类.pdf
- 《Thinking in Java》中文版 第五章 隐藏实现.pdf
- 《Java2网络编程基础》 第五章 Java异常和垃圾收集.ppt
- 《Java2网络编程基础》 第六章 GU编程.ppt
- 《Java2网络编程基础》 第七章 AWT事件模型.ppt
- 《Java2网络编程基础》 第八章 Applet和图形编程.ppt
- 《Java2网络编程基础》 第九章 Swing.ppt
- 《精品JAVA专业版》 第十章 多线程.ppt
- 《精品JAVA专业版》 第十一章 JDBC.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第一章 绪论、第二章 微处理器的工作模式.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第三章 微处理器的实模式软件结构及程序设计.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第四章 保护模式软件结构.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第五章 半导体存储器接口技术.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第六章 微型计算机系统总线.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第七章 输入输出接口技术.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第八章 中断技术.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第九章 串行通信接口及其应用.ppt
- 《微机原理》课程电子教案(PPT课件讲稿)第十章 数据采集系统及其应用.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)目录.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十章 指针.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十一章 结构体与共用体.ppt
- 《C/C++程序设计基础》课程教学资源(PPT课件讲稿)第十二章 位运算.ppt