Java匿名内部类使用与示例】的更多相关文章

首先说为什么有匿名类 两个原因(产生的使命) 1.简化代码编写 某种情况下,类只需要扩展一个方法,没必要为了一个方法单独去写一个子类,然后然后调用子类,此时需要匿名类 2.在不同的包内的类内调用类的protected方法(其实,也可以理解和第一个原因是一样的) 匿名类继承了父类,并调用了父类的protected方法 条件: 匿名类完成上述使命,则需要继承一个类或者实现某个接口 形式:new <类或接口> <类的主体> 示例1: /** * 一般类 * @author masan *…
随笔之java匿名内部类 从今天起开始每日一篇技术博客,当然这只是我当天所学的一些随笔,里面或多或少会有理解不当的地方,希望大家多多指教,一起进步! 在讲匿名内部类之前,先讲讲内部类的一些概念. 1.内部类:顾名思义,内部类就是写在一个类里面的类(废话),这里大家可能会问了,为什么我们不直接写一个class呢,非要写在内部.原因很简单,内部类一方面是有很好的封装性,要通过外部类对象才能访问(具体实例见下方代码).另一方便定义起来很方便.最后,内部类还可以骚气地实现多重继承,因为外部类是否继承或实…
Java枚举类型使用示例 学习了:https://www.cnblogs.com/zhaoyanjun/p/5659811.html http://blog.csdn.net/qq_27093465/article/details/52180865 加一个分号就可以写方法了: package com.stono.enum1; public enum Color { RED,YELLOW,BLACK,GREEN; public static void main(String[] args) { /…
JAVA代理方式使用示例总结 一.    代理方式概括 Java的代理方式主要包含了静态代理,动态代理两种方式,其中,动态代理根据实现的方式不同,又可以划分为jdk动态代理和cglib动态代理. 二.    代理方式实现 1.    静态代理 静态代理,主要包含两个实例,被代理类和代理类,两者都要实现公共的接口,能够面向接口实现,把被代理类组合到代理类中,在被代理类的本身功能上,加上代理类的自己的处理逻辑,达到增强的效果,就简单的实现了代理功能.静态代理只能事先编写好代理代码,经过统一编译后才能…
Java SE 9 模块化示例 作者:Grey 原文地址:Java SE 9 模块化示例 说明 Java SE 9引入了模块系统,模块就是代码和数据的封装体.模块的代码被组织成多个包,每个包中包含Java类和接口:模块的数据则包括资源文件和其他静态信息. 在module-info.java文件中,我们可以用新的关键词module来声明一个模块. Java 9将JDK划分为多个模块以支持各种配置.参考JEP 200: The Modular JDK 可以使用如下命令查询所有的模块(注:JDK 版本…
例1.用lambda表达式实现Runnable 我开始使用Java 8时,首先做的就是使用lambda表达式替换匿名类,而实现Runnable接口是匿名类的最好示例.看一下Java 8之前的runnable实现方法,需要4行代码,而使用lambda表达式只需要一行代码.我们在这里做了什么呢?那就是用() -> {}代码块替代了整个匿名类. 1 2 3 4 5 6 7 // Java 8之前: new Thread(new Runnable() {     @Override     public…
大部分时候,类被定义成一个独立的程序单元.在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,包含内部类的类也被称为外部类. class Outer { private int a; public class Inner { private int a; public void method(int a) { a++; //局部变量 this.a++; //Inner类成员变量 Outer.this.a++; //Outer类成员变量 } } } 一般做法是…
示例一: package com;      interface Operation {       double operateTwoIntNum(int a, int b);   }      public class InnerClassTest {          /**       * 加法       */       public static double add(int a, int b) {           /**           * 匿名内部类实现加法      …
SocketListenerPusher.java代码如下: import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.c…
转自:http://blog.csdn.net/kkdelta/article/details/7217761 本文记录了安装Redis和从JAVA端访问Redis的步骤 从http://download.csdn.net/detail/kkdelta/4034137 下载本文所需文件. 1,在Linux上安装Redis服务. 下面的操作的base dir为 /root/4setup tar xzf redis-2.4.6.tar cd redis-2.4.6 make 安装完后启动 nohup…
java内部类.匿名类原本以为它们的使用已经很滑, 成绩, 就在昨天晚上12指向时钟发生重大事故.事故的严重程度再说吧,那是因为我没有睡一晚睡眠. 那以下先用一段模拟代码来描写叙述下我出现的问题的: public class Test { public static void main(String[] args) throws InterruptedException { View v = new View(); v.show(1); Thread.sleep(500); v.mTextVie…
原文:http://android.blog.51cto.com/268543/384844/   内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可以是静态static的,也可用public,default,protected和private修饰.(而外部顶级类即类名和文件名相同的只能使用public和default).   注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类.对于一个名为outer的外部类和其内部定义的名为inner的内部类.编译…
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者…
匿名内部类介绍: 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 匿名内部类的声明格式如下: new ParentName(){ ...// 内部类的定义 } 匿名内部类的使用场景: .只用到类的一个实例 . ·类在定义后马上用到. ·类非常小(SUN推荐是在4行代码以下) ·给类命名并不会导致你的代码更容易被理解. 匿名内部类的使用原则: ·匿名内部类不能有构造方法. ·匿名内…
1.前言 匿名内部类在我们JAVA程序员的日常工作中经常要用到,但是很多时候也只是照本宣科地用,虽然也在用,但往往忽略了以下几点:为什么能这么用?匿名内部类的语法是怎样的?有哪些限制?因此,最近,我在完成了手头的开发任务后,查阅了一下JAVA官方文档,将匿名内部类的使用进行了一下总结,案例也摘自官方文档.感兴趣的可以查阅官方文档(https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html). 2.匿名内部类…
匿名内部类访问外部局部变量必须是final修饰的,Java 1.8 会默认为其加上final 例子如下: public void send(String topicName, T obj) { String jsonObj; if (obj instanceof String) { jsonObj = String.valueOf(obj); } else { jsonObj = JSON.toJSONString(obj); } LOGGER.info("send message = {}&q…
本文由 ImportNew - ImportNew读者 翻译自 journaldev.欢迎加入翻译小组.转载请见文末要求. [感谢 @CuGBabyBeaR  的热心翻译.如果其他朋友也有不错的原创或译文,可以尝试投递到 ImportNew.] 当我开始我的Java职业生涯的时候,对于我来说正则表达式简直是个是梦魇.本教程旨在帮助你驾驭Java正则表达式,同时也帮助我复习正则表达式. 什么是正则表达式? 正则表达式定义了字符串的模式.正则表达式可以用来搜索.编辑或处理文本.正则表达式并不仅限于某…
java串口通讯第一次使用,找的资料都比较麻烦,一时没有理出头绪,自己在示例的基础上整理了一个简单的应答示例,比较简陋,但演示了java串口通讯的基本过程. package com.garfield.comm; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.comm.CommPortIdentifier; import javax.comm.Ser…
一.引用的jar包,apache的POI // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.17' // https://mvnrepository.com/artifact/org.apache.poi/poi compile group: 'org.apache.poi', name: 'p…
File类示例 public class FileUsageTest { private static void usage() { System.err.println("Usage: FileUsageTest path1 ... \n" + "Creates each path\n" + "Usage: FileUsageTest -d path1 ...\n" + "Deletes each path\n" + &qu…
一.JAVA中内部类和匿名内部类的区别 内部类:内部类可以是static的或者非static的,static内部类只能包含静态方法和静态类变量,只能访问外部类的静态元素,内部类可以实例化,多次使用. 匿名内部类:它只能使用一次,不区分static和非static.如果用到外部类的变量的话,必须是类变量或者实例变量,就是必须是类定义的变量,或者final的局部变量.匿名内部类如果是继承某个类的话是可以重写那个类的方法的,这个和普通内部类一样.  总结:可以用匿名内部类的地方都可以用内部类替换,但是…
匿名内部类:顾名思义,没有名字的内部类.表面上看起来它们似乎有名字,实际那不是它们的名字.当程序中使用匿名内部类时,在定义匿名内部类的地方往往直接创建该类的一个对象.匿名内部类的声明格式如下:new ParentName(){...// 内部类的定义}[1] 匿名内部类就是没有名字的内部类.什么情况下需要使用匿名内部类?如果满足下面的一些条件,使用匿名内部类是比较合适的:·只用到类的一个实例 .·类在定义后马上用到.·类非常小(SUN推荐是在4行代码以下)·给类命名并不会导致你的代码更容易被理解…
这个示例,实现一个简单的C/S,客户端向服务器端发送消息,服务器将收到的消息打印到控制台,并将该消息返回给客户端,客户端再打印到控制台.现实的应用中需要定义发送数据使用的协议,以帮助服务器解析消息.本示例只是无差别的使用默认编码将收到的字节转换字符并打印.ByteBuffer的容量越小,对一条消息的处理次数就越多,容量大就可以在更少的循环次数内读完整个消息.所以真是的应用场景,要考虑适当的缓存大小以提高效率. 服务器端代码: package nio; import java.io.IOExcep…
一 匿名内部类 1.匿名内部类的概念 内部类是为了应对更为复杂的类间关系.查看源代码中会涉及到,而在日常业务中很 难遇到,这里不做赘述. 最常用到的内部类就是匿名内部类,它是局部内部类的一种. 定义的匿名内部类有两个含义: 临时定义某一指定类型的子类 定义后即刻创建刚刚定义的这个子类的对象 2.匿名内部类的作用与格式 作用:匿名内部类是创建某个类型子类对象的快捷方式. 格式: new 父类或接口(){ //进行方法重写 }; 代码演示: //已经存在的父类: public abstract cl…
匿名内部类只能使用一次,就不能在使用. 为了验证"只能使用一次"的实际含义,首先在程序中实例化了两个对象.并且在相应的类中加入了实现接口的匿名内部类: package com.Anonymouse; public class AnonymousInnerClass { public static void main(String[] args) { Outer04 outer04 = new Outer04(); outer04.method(); Outer04 outer01 =…
1.前言 匿名内部类是什么东西? 没有名字的内部类就是匿名内部类. 什么场景使用? 匿名内部类适合创建那种只需要一次使用的类. 这是个很有用的东西,可想而知,如果不使用匿名内部类,哪些只需要使用一次的类岂不是需要单独做个文件存放?文件多起来,连名字都不好起, 这算是 给 起名字困难人群 巨大的福利啊!!!直接不要名字啦,哈哈哈哈哈 匿名内部类的使用需要接口或抽象类的使用,而使用抽象类又有点像Java多态知识点用法,当然区别还是有的. 2.操作 (1)使用接口实现匿名内部类 创建一个接口 pack…
1.JNI是什么? JNI(Java Native Interface) Java本地接口,又叫Java原生接口.它允许Java调用C/C++的代码,同时也允许在C/C++中调用Java的代码. 可以把JNI理解为一个桥梁,连接Java和底层.其实根据字面意思,JNI就是一个介于Java层和Native层的接口,而Native层就是C/C++层面. 2.为什么要用JNI? 能够重复使用一些现成的.具有相同功能的的C/C++代码 因为C/C++是偏向底层的语言,所以使用C/C++能够更加的高效,而…
首先定义一个抽象类Computer public abstract class Computer { //抽象类是不可以常见对象的 int a=1; public abstract void online(); public abstract void watchTV(); } 入口:Test 注意:抽象类有构造方法但是接口是没有构造方法的,所以下面代码中new 后面加的是匿名抽象类 public class Test { public static void main(String[] arg…
第一:安装Redis    首先我们要安装Redis,就像我们操作数据库一样,在操作之前肯定要先创建好数据库的环境.    Redis的下载可以百度一下,或者打开下面的下载链接:    https://github.com/MSOpenTech/redis 也可以从我的百度网盘下载,下载链接:    http://pan.baidu.com/s/1pJmaZ71        Redis有Linux版本的也有Windows版本的,我们练习的话一般都是Win版,操作比较简单.下载之后,压缩文件里面…
poi3.9版本,官网 http://poi.apache.org/slideshow/how-to-shapes.html import java.awt.Color; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hslf.HSLFSlideShow; import org.apache.poi.hslf.model.AutoSha…