自己理解的匿名类
来源:互联网 发布:网络机顶盒电视不出来 编辑:程序博客网 时间:2024/06/05 09:25
package com.xikeda.text;
*匿名类的常见创建方式
*
*
*new Hello(){
* 匿名类的类体;
* }
*
*
* 下面这个程序是将匿名作为参数
* 匿名类的主要作用就是向方法的参数传值
* 这种在实力化对象时同时给出其类型的具体实现,但没有给出实现后的具体类名称,这种类就叫匿名类
* 匿名类就是一个子类,不用声明对象,但是可以直接用匿名类创建一个对象
* 匿名类可以继承类的方法,也可以重写类的方法
* 使用时,肯定在某个类的内部直接用匿名类创建对象,所以匿名类一定是内部类
* 匿名类可以访问外嵌类的成员变量和方法,
* 匿名类不可以声明static的变量和方法;
* 匿名类没有类名,所以也就没有匿名函数
* 匿名类在访问局部变量的时候,要求局部变量必须是final,访问成员变量就不需要了
*/
abstract class Student{//abstract修饰的抽象类 这儿声明一个抽象类
abstract void speak();//抽象方法,只允许声明 不允许实现
}
class Teacher{
void look(Student stu){//执行匿名类的重写的speak方法,向方法的参数传值
stu.speak();
}
}
public class AnonymousTest {
public static void main(String[] args) {
Teacher zhang = new Teacher();
zhang.look(new Student(){//匿名类的类体,也就是Student子类的类型,他的父类就是Student
void speak(){//重写的方法
System.out.println("这是匿名类中的方法");
}
}//匿名类结束
);
}
}
/**
*这是一个匿名类*匿名类的常见创建方式
*
*
*new Hello(){
* 匿名类的类体;
* }
*
*
* 下面这个程序是将匿名作为参数
* 匿名类的主要作用就是向方法的参数传值
* 这种在实力化对象时同时给出其类型的具体实现,但没有给出实现后的具体类名称,这种类就叫匿名类
* 匿名类就是一个子类,不用声明对象,但是可以直接用匿名类创建一个对象
* 匿名类可以继承类的方法,也可以重写类的方法
* 使用时,肯定在某个类的内部直接用匿名类创建对象,所以匿名类一定是内部类
* 匿名类可以访问外嵌类的成员变量和方法,
* 匿名类不可以声明static的变量和方法;
* 匿名类没有类名,所以也就没有匿名函数
* 匿名类在访问局部变量的时候,要求局部变量必须是final,访问成员变量就不需要了
*/
abstract class Student{//abstract修饰的抽象类 这儿声明一个抽象类
abstract void speak();//抽象方法,只允许声明 不允许实现
}
class Teacher{
void look(Student stu){//执行匿名类的重写的speak方法,向方法的参数传值
stu.speak();
}
}
public class AnonymousTest {
public static void main(String[] args) {
Teacher zhang = new Teacher();
zhang.look(new Student(){//匿名类的类体,也就是Student子类的类型,他的父类就是Student
void speak(){//重写的方法
System.out.println("这是匿名类中的方法");
}
}//匿名类结束
);
}
}
0 0
- 自己理解的匿名类
- 匿名类的理解
- 匿名类的理解
- 对匿名类的初步理解
- javascript 匿名函数的理解
- JS匿名函数的理解
- JS匿名函数的理解
- Javascript 匿名函数的理解
- javascript 匿名函数的理解
- JS匿名函数的理解
- JS匿名函数的理解
- S匿名函数的理解
- js匿名函数的理解
- 匿名内部类的理解
- JS匿名函数的理解
- JS匿名函数的理解
- 匿名内部类的理解
- javascript匿名函数的理解
- LeetCode 25:Reverse Nodes in k-Group
- 基于Redis有序集合的终端在线推送解决方案
- web.xml加载顺序与web.xml常用节点解析
- Java中有关类的一些概念
- R学习笔记
- 自己理解的匿名类
- 手把手教你在ubuntu下创建桌面快捷方式
- 使用JavaFx实现拼图游戏
- Vivado 中调用ultraedit UE
- spring 事物 传播属性 与 隔离机制
- Postgres自建user表问题
- VMware 虚拟机使用RedHat,出现 connect: Network is unreachable解決方法
- sz命令太慢, 那就用samba或者scp/ftp/sftp吧
- vs中运行项目出现“*** 已经在libcmtd.lib中定义”的错误