Java匿名类的使用方法
浅析匿名类的使用方法
匿名类是某种已定义的类的继承,该父类必须真实存在。匿名类属于内部类无法构造静态代码块。
构造匿名类对象主要有以下几种方式:
- new 类名{类体}
这种方式的例子是注册事件监听器 - new 类名{类体}.方法
public class Practice {public static void main(String[] args){new Outer() {public void print(){System.out.println("你好");}public void printOut(){System.out.println("hello");}}.printOut();}
}
class Outer{private int value;public void printOut(){System.out.println(value);}
}
在匿名类里你可以重写父类方法或定义新的方法。
3. 类名 对象名=new 类名{类体}
public class Practice {public static void main(String[] args){Outer o=new Outer() {public void print2(){System.out.println("you are a cat");}public void printOut(){System.out.println("hehe");}};o.printOut();
}
}
class Outer{private int value;public void printOut(){System.out.println(value);}
}
在这里需要注意的是o已由新构造的匿名类的类型被转化为父类Outer类型。所以你在匿名类中新定义的方法无法使用。但是对父类方法的重写仍然有效。
Java匿名类的使用方法相关推荐
- java 匿名类调用方法_Java匿名内部类使用与示例
首先说为什么有匿名类(产生的使命) 两个原因 1.简化代码编写 某种情况下,类只需要扩展一个方法,没必要为了一个方法单独去写一个子类,然后然后调用子类,此时需要匿名类 2.在不同的包内的类内调用类的p ...
- 1.18 Java匿名类,匿名内部类
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个 ...
- java匿名类_Java匿名类
java匿名类 Java anonymous class are like local class or inner class without a name. We can use java ano ...
- 解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系
1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏 ...
- Java 匿名类(匿名内部类)
Java 匿名类(匿名内部类) 学习的参考博文:无恨之都 1. 初识 匿名类 标准说法: 内部类包括:成员类.局部类.匿名类(匿名内部类). 匿名类概念: 匿名类可以使你的代码更加简洁 (JDK8之后 ...
- java常用类的方法,java常用类的使用方法
java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...
- Java String类的split方法简介
Java String类的split方法简介 String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组. 1.一般用法 用一般的字符,例如 @ 或 , 等符号 ...
- java 抽取类、抽取方法
java 抽取类.抽取方法 一.为什么用到抽象思想 分析事物时,发现了共性内容,就出现向上抽取.会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同.那么这时也可以抽取,但只抽取方法声明,不 ...
- java 获取文件名长度_利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性...
利用Java文件类File的方法,获取磁盘文件的文件名.长度.大小等特性. 如题,大神们谁可以编写一个这样的java程序? happy530755 | 浏览 1482 次 |举报 我 ...
最新文章
- 编译ONNX模型Compile ONNX Models
- 作为一枚第二天上班的小小.net程序员(技术宅的那种)很迷茫哦,第一个随笔
- js 将时间戳转为日期格式
- 指针传递内表方式做smartforms
- C++基础-内存管理
- Elasticsearch启动问题:max number of threads [3753] for user [XX] is too low, increase to at least [4096]
- 【剑指offer】包含min函数的栈
- Runtime之消息转发
- xrd连续扫描和步进扫描_深度解析XRD
- 如何自制拼音卡片(用WORD或者EXCEL制作)
- 『常识』印刷纸张尺寸对比表
- 数据挖掘背景知识2——数据挖掘可以做到什么 带给我们什么?
- stm32 Cubel开发教程
- 记一次PDFRenderer使用renderImage方法报错java.lang.IndexOutOfBoundsException解决方法
- 游戏音乐制作中需要使用那些软件?
- java string占用内存_Java中String到底占用多大的内存空间?
- Windows 7自带的显示器校准
- 新浪cn邮箱设置收件和发件服务器信息,新浪cn邮箱如何设置
- 区块链在车联网数据共享领域的研究进展
- OE链面临区块链生态新机遇