码迷,mamicode.com
首页 > 其他好文 > 详细

内部类 匿名内部类

时间:2021-05-23 23:40:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:result   inner   子类   新建   修改   sys   多态   string   实例   

package com.anyan;

/**
* @author anyan
* @date 2021/5/3-20:42
*/
/*
内部类:即类的内部还有类,类中套类
内部类分为三种:
1.静态内部类
2.局部内部类
其中匿名内部类较常用,是局部内部类的一种
3.实例内部类
*/
public class InnerClassTest {
/* //由于被static 修饰,且在方法体之外,因此被称为静态内部类
public static class inner1{
}
//方法体之外,未被static修饰,因此被称为实例内部类。
public class inner2{
}
public void doSome(){
//由于在方法体中,因此被称为局部内部类
class inner3{

}
}*/
public static void main(String[] args) {
MyMath mm=new MyMath();
/*ComputeInple ci=new ComputeInple();
int result=mm.sum(ci,10,20);//多态机制:夫类型的引用指向子类型的对象*/
//修改,利用匿名内部类
int result=mm.sum(new Compute(){//匿名内部类其实就是将实现Compute接口的那个类的名字隐藏,
// 此处新建接口对象实则是新建了一个实现接口的内部类,重写接口中的方法在方法体内
public int sum(int x,int y){
return x+y;
}
},10,20);
System.out.println(result);

}

}
//定义一个接口
interface Compute{
int sum(int a,int b);
}
//定义一个类,实现某些方法
class MyMath {
public int sum(Compute c,int x, int y) {
return x+y;
}
}
//定义一个接口实现类,用于实现接口
/*class ComputeInple implements Compute {
public int sum(int x, int y) {
return x+y;
}
}*/

内部类 匿名内部类

标签:result   inner   子类   新建   修改   sys   多态   string   实例   

原文地址:https://www.cnblogs.com/a-n-yan/p/14728533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!