标签: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