老生常谈 java匿名内部类_java

匿名内部类:

1、匿名内部类其实就是内部类的简写格式。

2、定义匿名内部类的前提:

内部类必须是继承一个类或者实现接口。

3、匿名内部类的格式:  new 父类或者接口(){定义子类的内容}

4、其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖。    可以理解为带内容的对象。

5、匿名内部类中定义的方法最好不要超过3个。

abstract class AbsDemo
{
  abstract void show();

}

class Outer
{
  int x = 3;

  /*
  class Inner extends AbsDemo
  {
    int num = 90;
    void show()
    {
      System.out.println("show :"+num);
    }
    void abc()
    {
      System.out.println("hehe");
    }
  }
  */

  public void function()
  {
    //AbsDemo a = new Inner();
//    Inner in = new Inner();
//    in.show();
//    in.abc();

    AbsDemo d = new AbsDemo()
    {
      int num = 9;
      void show()
      {
        System.out.println("num==="+num);
      }
      void abc()
      {
        System.out.println("haha");
      }
    };

    d.show();
    //d.abc();//编译失败;

  }
}

class InnerClassDemo4
{
  public static void main(String[] args)
  {
    new Outer().function();
  }
}

以上这篇老生常谈 java匿名内部类就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java匿名内部类
java匿名内部类、java中匿名内部类、java匿名内部类详解、java多线程匿名内部类、java的匿名内部类,以便于您获取更多的相关知识。

时间: 2024-09-27 06:48:37

老生常谈 java匿名内部类_java的相关文章

老生常谈java中cookie的使用_java

1 什么是cookie 浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接.因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知.为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为"小甜饼".cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape

关于JAVA匿名内部类的一点讨论

基本理论: 关于JAVA内部类:一个内部类的定义是定义在另一个类内部的类. 存在它的原因是: 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据.即内部类实例对包含它的哪个类的实例来说,是特权的. 2.对于同一个包中的其他类来说,内部类能够隐藏起来,换句话说,内部类不管方法的可见性如何,那怕是public,除了包容类,其他类都无法使用它. 3.匿名内部类可以很方便的定义回调. 4.使用内部类可以非常方便的编写事件驱动程序. 其实它真正的目的仅仅为了定义回调--进一步就是事件驱动.接口和

java匿名内部类实例简析_java

匿名类是不能有名称的类,所以没办法引用它们.必须在创建时,作为new语句的一部分来声明它们.这就要采用另一种形式的new语句,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口.它还创建那个类的一个新实例,并把它作为语句的结果而返回.要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体.如果匿名类对另一个类进行扩展,它的主体可以访问类的成员.覆盖它的方法等等,这和其他任何标准的类都是一样

编码实现从无序链表中移除重复项(C和JAVA实例)_java

如果不能使用临时缓存,你怎么编码实现? 复制代码 代码如下: 方法一:不使用额外的存储空间,直接在原始链表上进行操作.首先用一个指针指向链表头节点开始,然后遍历其后面的节点,将与该指针所指节点数据相同的节点删除.然后将该指针后移一位,继续上述操作.直到该指针移到链表. void delete_duplicate1(node* head){    node*pPos=head->next;    node*p,*q;    while(pPos!=NULL){//用pPos指针来指示当前移动到什么

java 2d画图示例分享(用java画图)_java

Java 2D API通过扩展抽象窗口工具箱(AWT),为Java程序提供了二维图像,文本和图形的功能.这个复杂的渲染包支持线形图像,文本和图形,为富用户界面,复杂绘图程序和图像处理器开发者提供灵活的,功能强大的框架.Java 2D对象出现在一个平面中,称为用户坐标系空间,和设备坐标系空间.当对象在屏幕或打印机中渲染时,用户空间坐标系被转换成设备空间坐标系. 复制代码 代码如下: import java.awt.BasicStroke;import java.awt.Color;import j

form表单回写技术java实现_java

本文实例为大家分享了form表单回写技术,供大家参考,具体内容如下 回写支持的java拼js的方法: /** * 回写表单 * * @param mRequest * @return */ public static String writeBackMapToForm(Map mRequest) { return writeBackMapToForm(mRequest, new String[]{}, "writeBackMapToForm"); } /** * 回写表单 * * @p

图书管理系统java版_java

本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改.内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面下

地址到经纬度坐标转化的JAVA代码_java

任务:有1000多条门店信息(放在excel中,包括地址,店名,电话等,但是没有经纬度坐标),老大让我用地址通过百度地图拾取坐标系统找到相应的坐标,然后加上坐标后更新到公司的数据库. 失败的方案:1.使用按键精灵,按键精灵是一个模仿键盘鼠标操作的软件,用来写动作脚本的,由于时间紧,没怎么研究,因为整套动作太复杂了按键精灵尝试了下不行就放弃了. 2.表单填充工具(就是把exel表格批量提交到网页),什么风越.乌溜漆(特别是这乌溜漆,还要钱,坑货)都尝试了下,结果都不满意.因为我要把excel中的内

深入探究TimSort对归并排序算法的优化及Java实现_java

简介MergeSort对已经反向排好序的输入时复杂度为O(n^2),而timsort就是针对这种情况,对MergeSort进行优化而产生的,平均复杂度为n*O(log n),最好的情况为O(n),最坏情况n*O(log n).并且TimSort是一种稳定性排序.思想是先对待排序列进行分区,然后再对分区进行合并,看起来和MergeSort步骤一样,但是其中有一些针对反向和大规模数据的优化处理. 归并排序的优化思想归并排序有以下几点优化方法: 和快速排序一样,对于小数组可以使用插入排序或者选择排序,