咨询电话:400-035-7887/021-6072 5770
首页 关于我们 下载与支持 产品社区
SPASVO移动站
  • 泽众
  • 自动化测试
    TestOne(一站式自动化测试) ATF(自动化测试框架) AutoRunner(自动化测试) MobileRunner(移动自动化测试)
  • 测试管理
  • 性能测试
    PerformanceRunner (性能测试软件) web pr(在线性能测试) APM (性能监控软件)
  • RPA机器人
  • 研发管理
    ALM(研发管理工具) 代码扫描CA
  • 泽众云测试
    兼容性测试 真机测试 Alltesting云真机
  • 客户案例
  • 合作代理
    为什么加入我们 申请加入代理
  • 全部产品

    性能测试

    PerformanceRunner (性能测试软件) APM(性能监控软件) web-PR(免费在线性能测试)

    RPA机器人

    AutoRunner Process 业务流程挖掘系统

    自动化测试

    TestOne(一站式自动化测试) ATF(自动化测试框架) AutoRunner(自动化测试软件) MobileRunner(移动自动化测试) AR365(自动化测试)

    测试管理

    ALM+TestCenter(生命周期管理软件) ProjectCenter(项目管理软件) TestCenter(测试管理软件) RequisiteCenter(需求管理) CodeAnalyzer(静态分析) 免费版TCE(bug管理工具)

    信创产品

    PerformanceRunner(性能测试软件) ALM+TestCenter(生命周期管理软件) ATF(自动化测试框架) AutoRunner(自动化测试软件) CodeAnalyzer(静态分析)

    测试服务

    第三方验收测试服务 性能测试服务 兼容性测试服务 安全测试服务 SPASVO测试实验室
  • 新闻资讯
  • 解决方案

    金融

    银行 自动化测试解决方案 手机银行兼容性测试解决方案 性能测试解决方案 测试体系与测试管理系统建设解决方案 研发项目管理解决方案 测试管理解决方案 银行众包测试解决方案 大数据测试用例自动生成解决方案 功能测试解决方案 证券公司(投资) 自动化测试解决方案 研发项目管理解决方案 测试管理解决方案 大数据测试用例自动生成解决方案 券商APP兼容性测试解决方案 生产日志回放解决方案 保险 自动化测试解决方案 测试管理解决方案 研发项目管理解决方案 基金 自动化测试解决方案 功能测试解决方案

    研究院所

    需求管理解决方案 真机云测试解决方案 性能测试解决方案 自动化测试解决方案 APM性能调优/全链路压测解决方案 研发项目管理解决方案 测试管理解决方案

    企业

    移动端兼容性测试解决方案 众包测试解决方案 第三方验收测试 性能测试方案 app自动化测试解决方案 安全测试解决方案 自动化测试解决方案 APM性能调优/全链路压测解决方案 研发项目管理解决方案 测试管理解决方案

    高等教育

    软件测试实验室建设方案 测试管理实训方案 测试实训课程方案 性能测试实训方案 移动测试实验室方案 自动化测试实训方案 云真机实验室建设方案 RPA机器人实验室建设方案 软件工程实验室建设方案 高校软件测试教程解决方案 高校软件测试教学资源包解决方案 软件测试教案和课件建设方案 测试学院 测试实战平台 测试实训平台

    医疗行业

    真机云测试解决方案 预决算管理解决方案 第三方验收测试

    政府

    测评中心/机构 真机云测试解决方案 测试实战平台 政府单位/软件园区 性能测试解决方案 自动化测试解决方案 第三方测试解决方案 移动端(app、h5、小程序)兼容性测试解决方案 研发项目管理解决方案 测试管理解决方案
  • 性能测试
  • PerformanceRunner (性能测试软件) APM (性能监控软件)
  • 自动化测试
  • TestOne(一站式自动化测试) ATF(自动化测试框架) AutoRunner(自动化测试) MobileRunner(移动自动化测试)
  • 研发管理
  • ALM(研发项目管理) TestCenter(测试管理软件)
  • RPA机器人
  • 代码扫描CA
  • 云真机
  • 性能测试
  • PerformanceRunner (性能测试软件) APM(性能监控软件) web-PR(免费在线性能测试)
  • RPA机器人
  • AutoRunner Process 业务流程挖掘系统
  • 自动化测试
  • TestOne(一站式自动化测试) ATF(自动化测试框架) AutoRunner(自动化测试软件) MobileRunner(移动自动化测试) AR365(自动化测试)
  • 测试管理
  • ALM+TestCenter(生命周期管理软件) ProjectCenter(项目管理软件) TestCenter(测试管理软件) RequisiteCenter(需求管理) CodeAnalyzer(静态分析) 免费版TCE(bug管理工具)
  • 信创产品
  • PerformanceRunner(性能测试软件) ALM+TestCenter(生命周期管理软件) ATF(自动化测试框架) AutoRunner(自动化测试软件) CodeAnalyzer(静态分析)
  • 测试服务
  • 第三方验收测试服务 性能测试服务 兼容性测试服务 安全测试服务 SPASVO测试实验室
  • 新闻资讯
  • 行业
  • 金融 研究院所 企业 高等教育 医疗行业 政府
  • 关于我们
您的位置:软件测试 >> 测试开发技术 >> Java

Java 中的内部类和匿名类

作者:网络转载 发布时间:[ 2013/12/17 10:45:20 ] 推荐标签:

  下面有一个更怪的例子:
public class Goods2{
private void internalTracking(boolean b) {
if(b) {
class TrackingSlip {
private String id;
TrackingSlip(String s) {
id = s;
}
String getSlip() { return id; }
}
TrackingSlip ts = new TrackingSlip("slip");
String s = ts.getSlip();
}
}
public void track() { internalTracking(true); }
public static void main(String[] args) {
Goods2 g= new Goods2();
g.track();
}
}
  你不能在 if 之外创建这个内部类的对象,因为这已经超出了它的作用域。不过在编译的时候,内部类 TrackingSlip 和其他类一样同时被编译,只不过它由它自己的作用域,超出了这个范围无效,除此之外它和其他内部类并没有区别。
  2.匿名类
  匿名类是不能有名称的类,所以没办法引用他们。必须在创建时,作为new语句的一部分来声明他们。
  这要采用另一种形式的new语句,如下所示:
  new <类或接口> <类的主体>
  这种形式的new语句声明一个新的匿名类,他对一个给定的类进行扩展,或实现一个给定的接口。他还创建那个类的一个新实例,并把他作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。
  假如匿名类对另一个类进行扩展,他的主体能够访问类的成员、覆盖他的方法等等,这和其他任何标准的类都是相同的。假如匿名类实现了一个接口,他的主体必须实现接口的方法。
  注意匿名类的声明是在编译时进行的,实例化在运行时进行。这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。
  从技术上说,匿名类可被视为非静态的内部类,所以他们具备和方法内部声明的非静态内部类相同的权限和限制。
  假如要执行的任务需要一个对象,但却不值得创建全新的对象(原因可能是所需的类过于简单,或是由于他只在一个方法内部使用),匿名类显得很有用。匿名类尤其适合在Swing应用程式中快速创建事件处理程式。
interface pr {
void print1();
}
public class noNameClass {
public pr dest() {
return new pr() {
public void print1() {
System.out.println("Hello world!!");
}
};
}
}
public static void main(String args[]) {
noNameClass c = new noNameClass();
pr hw = c.dest();
hw.print1();
}
  pr 也可以是一个类,但是你外部调用的方法必须在你的这个类或接口中声明,外部不能调用匿名类内部的方法。

上一页1234下一页
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

相关推荐

Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

相关产品

机器人流程自动化

机器人流程自动化

自动化测试工具

自动化测试工具

移动平台自动化测试工具

移动平台自动化测试工具

测试管理工具

测试管理工具

代码质量管理

代码质量管理

软件研发生命周期管理

软件研发生命周期管理

ATF自动化测试框架软件

ATF自动化测试框架软件

性能测试工具

性能测试工具

项目管理软件

项目管理软件

需求管理软件

需求管理软件

更新发布

App、小程序、H5兼容性测试区别在哪些?

2024/9/11 15:34:34

兼容性测试覆盖多少机型,如何选择?

2024/9/10 11:13:49

P-One 在进行性能测试时,如何确保测试结果的准确性和可靠性?

2024/9/10 10:14:12

为什么越来越多的企业选择一站式测试平台?

2024/9/9 18:04:26

功能测试和接口测试的区别

2023/3/23 14:23:39

如何写好测试用例文档

2023/3/22 16:17:39

常用的选择回归测试的方式有哪些?

2022/6/14 16:14:27

测试流程中需要重点把关几个过程?

2021/10/18 15:37:44

热门文章

常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南

咨询电话

021-6072 5770-8054

沪公网安备 31010702002953号

沪ICP备07036474号 2003-2020 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.

测试工具快速入口

测试管理工具/缺陷管理工具 项目管理软件 自动化测试工具/功能测试工具 移动自动化测试工具/App测试工具 ALM生命周期管理 性能测试工具/压力测试工具 Selenium自动化测试框架 RPA机器人流程自动化

帮助与支持

测试服务 RPA解决方案 核心业务系统测试解决方案 测试用例设计解决方案 接口测试解决方案 界面自动化测试解决方案 移动端自动化测试解决方案 性能测试解决方案 需求管理解决方案 代码管理解决方案 预决算管理解决方案 兼容性测试解决方案 众测(众包测试)测试解决方案 搭建测试体系解决方案 第三方验收测试解决方案 安全测试解决方案

关注我们

咨询热线:021-6072 5770-8054

金融专线:021-6072 5770-8006

sales@spasvo.com

沪ICP备07036474号 2003-2022 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
公众
账号

扫描二维码
关注泽众微信公众号

泽众官网公众号
问题
反馈
返回
顶部