当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 11 Nested Classes and Interfaces

资源类别:文库,文档格式:PPT,文档页数:15,文件大小:746.5KB,团购合买
Nested Types (嵌套类型) 嵌套类型(Nested Types)指声明在其它类或 接口中的类或接口. Java语言在1.2版本以后才提供对嵌套类型的 支持.
点击下载完整版文档(PPT)

Nested Types(嵌套类型 嵌套类型 Nested Types)指声明在其它类或 接口中的类或接口 Java语言在12版本以后才提供对嵌套类型的 支持 提供对嵌套类型的支持有以下目的: (1)使类型(类或接口)构成不同的逻辑分组 (2)以简单有效的方式将逻辑上相关的对象 组织在一起

Nested Types (嵌套类型) • 嵌套类型(Nested Types)指声明在其它类或 接口中的类或接口 • Java语言在1.2版本以后才提供对嵌套类型的 支持 • 提供对嵌套类型的支持有以下目的: (1) 使类型(类或接口)构成不同的逻辑分组 (2) 以简单有效的方式将逻辑上相关的对象 组织在一起

嵌套类型的分类 嵌套类型包括嵌套类和嵌套接口 根据嵌套类型声明的位置,可以分为成 员类型和局部类型 与嵌套类型相对,包含嵌套类型的类型 称为封装类( Enclosing Class

嵌套类型的分类 • 嵌套类型包括嵌套类和嵌套接口 • 根据嵌套类型声明的位置,可以分为成 员类型和局部类型 • 与嵌套类型相对,包含嵌套类型的类型 称为封装类(Enclosing Class)

Member Types(成灵类型 成员类型( Member Types)指定义在其 它类型中,与其它类型的域和方法同级 的类型 成员类型分为成员类 Member classes 和成员接口( Member Interfaces 成员类分为静态成员类和非静态成员类 成员接口只能是静态成员接口

Member Types (成员类型) • 成员类型(Member Types)指定义在其 它类型中,与其它类型的域和方法同级 的类型 • 成员类型分为成员类(Member Classes) 和成员接口(Member Interfaces) • 成员类分为静态成员类和非静态成员类 • 成员接口只能是静态成员接口

Static member class9s静态成员类) 静态 package bank 类的 静态 public class BankAccount 饰 private long number; 除了 private long balance; 般的 非嵌 public static class Permissions( 静态 public boolean can Deposite, 的逻 辑相 can Withdraw can Close 静 成

Static Member Classes (静态成员类) • 静态成员类可以声明在类或接口中,与类的 静态域和静态方法相似,被static关键字修饰 • 除了类名表达方式外,静态成员类与一般的 非嵌套类相同,可以被final或abstract修饰 • 静态成员类与其封装类型一般具有紧密的逻 辑相关性 • 静态成员类中能直接访问其封装类中静态成 员,但不能访问非静态成员 package bank; public class BankAccount{ private long number; private long balance; public static class Permissions{ public boolean canDeposite, canWithdraw, canClose; } …… }

Static Member Classes(静态成员类) import bank BankAccount BankAccount. Permissions perms=new BankAccount. Permissions; 静态成员类的类名表达有两种方式: import bank BankAccount. Permissions; (2)当 态成员 类 Permissions perms=new Permissions; 静态成贝天时用天坐里时严不静态成 员类的对象创建与一般非嵌套类相同

Static Member Classes (静态成员类) • 可以使用与类的静态成员相同的访问控制修 饰符来控制对静态成员类的访问 • 静态成员类的类名表达有两种方式: (1) . (2) 当封装类在包中时,可以导入静态成员 类,直接使用类名 • 静态成员类的引用类型变量的声明和静态成 员类的对象创建与一般非嵌套类相同 import bank.BankAccount; …… BankAccount.Permissions perms=new BankAccount.Permissions(); …… import bank.BankAccount.Permissions; …… Permissions perms=new Permissions(); ……

public class BankAccount private long number; private long balance private Action lastAct public class action private String act; private long amount Action(String act, long amount) this act=act this amount=amount public String toString(t return number+“:”+act+“”+ amount; public void deposite(long amount) balance+=amount lastAct-=new Action(deposite", amount)

Non-static Member Classes (非静态成员类) • 非静态成员类只能声明在类中 • 非静态成员类的对象总是与其封装类的对象 相关联,在语义上,没有封装类的对象就不 能存在非静态成员类的对象 • 非静态成员类中可以直接访问其封装类的所 有成员,除非被非静态成员类中声明的同名 成员隐藏 • 非静态成员类中不能包含static的成员 public class BankAccount{ private long number; private long balance; private Action lastAct; public class Action{ private String act; private long amount; Action(String act, long amount){ this.act=act; this.amount=amount; } public String toString(){ return number+ “: ”+act+ “ ”+amount; } } public void deposite(long amount){ balance+=amount; lastAct=new Action(“deposite”,amount); } …… }

Non- static member classe静态成员类 非静态成员类中的this引用只能访问非静态 成员类实例本身,要访问其封装类实例必须 使用以下语法格式:封装类类名>ths import bank BankAccount import bank BankAccount. Action; 员类 相 BankAccount account=new BankAccounto; t Action act=account. new Action 0; 函数

Non-static Member Classes (非静态成员类) • 非静态成员类中的this引用只能访问非静态 成员类实例本身,要访问其封装类实例必须 使用以下语法格式:.this 例如:BankAccount.this.balance • 非静态成员类的类名表达方式与静态成员类 相同,但创建对象要按照以下语法格式: .new import bank.BankAccount; import bank.BankAccount.Action; …… BankAccount account=new BankAccount(); Action act=account.new Action(); ……

Nested interfaces(影套接 嵌套接口可以声明在类或接口中 嵌套接口只能作为封装类或封装接口的 静态成员,通常 static修饰符被忽略 在面向接口的设计原则中,嵌套接口通 常作为其封装类或封装接中方法的返 回类型

Nested Interfaces (嵌套接口) • 嵌套接口可以声明在类或接口中 • 嵌套接口只能作为封装类或封装接口的 静态成员,通常static修饰符被忽略 • 在面向接口的设计原则中,嵌套接口通 常作为其封装类或封装接口中方法的返 回类型

Local Types(局部类型) 局部类型( Local Types)指定义在其它类的方 法或初始化块中的类型 局部类型只能是类不能是接口,声明在静态 方法或静态初始化块中的局部类称为静态局 部类,声明在非静态方法或非静态初始化块 中的局部类称为非静态局部类 非静态局部类和非静态成员类又统称为内部 类( Inner classes)

Local Types (局部类型) • 局部类型(Local Types)指定义在其它类的方 法或初始化块中的类型 • 局部类型只能是类不能是接口,声明在静态 方法或静态初始化块中的局部类称为静态局 部类,声明在非静态方法或非静态初始化块 中的局部类称为非静态局部类 • 非静态局部类和非静态成员类又统称为内部 类(Inner Classes)

Local Types(局部类型) 局部类中不能包含静态成员 局部类只能使用 final或 abstract关键字修饰, 不能使用 public或 statIc修饰 非静态局部类可以使用与非静态成员类相同 的方式访问其封装类的实例 静态局部类中可以直接访问其封方法的 局部变量或参数变量,但局部变量或参数变 量必须声明为fnal

Local Types (局部类型) • 局部类中不能包含静态成员 • 局部类只能使用final或abstract关键字修饰, 不能使用public或static修饰 • 非静态局部类可以使用与非静态成员类相同 的方式访问其封装类的实例 • 非静态局部类中可以直接访问其封装方法的 局部变量或参数变量,但局部变量或参数变 量必须声明为final

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共15页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有