public class Test01 {
// 静态内部类
static class Inner1{}
// 实例内部类
class Inner2{}
// 方法
public void doSome(){
int i = 10;
// 局部内部类
class Inner3{}
}
}
使用内部类编写的代码,可读性很差,所以尽量不要用public class Test01 {
public static void main(String[] args) {
BoBo a = new BoBo();
DoSome b = new SumReal();
a.mySum(b, 100, 200);
}
}
// 接口
interface DoSome{
// 抽象方法
int sum(int a, int b);
}
// 接口的实现类
class SumReal implements DoSome{
// 对方法的实现
public int sum(int a, int b){
return a + b;
}
}
// 求和类
class BoBo{
// 求和方法
public void mySum(DoSome c, int a, int b){
int resValue = c.sum(a,b);
System.out.println(a + "+" + b + "=" + resValue);
}
}
以上代码没有使用匿名内部类,我们需要编写实现接口的实现类,现在使用匿名内部类:public class Test01 {
public static void main(String[] args) {
BoBo a = new BoBo();
// 使用匿名内部类,表示类没有名字
// 这里的接口表面上是可以直接new,实际上不是
// 后面的{} 代表对接口的实现
a.mySum(new DoSome(){
public int sum(int a, int b){
return a + b;
}
}, 100, 200);
}
}
// 接口
interface DoSome{
// 抽象方法
int sum(int a, int b);
}
// 求和类
class BoBo{
// 求和方法
public void mySum(DoSome c, int a, int b){
int resValue = c.sum(a,b);
System.out.println(a + "+" + b + "=" + resValue);
}
}
但是不建议使用匿名内部类,因为一个类没有名字,没有办法重复使用,代码太乱,可读性太差!声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!