黑马程序员技术交流社区
标题:
匿名内部类的一个问题、
[打印本页]
作者:
邱俊杰
时间:
2012-4-11 23:07
标题:
匿名内部类的一个问题、
package day9;
public class Text_2 {
public static void main(String[] args)
{
Text.function().method();
}
}
interface Inter
{
void method();
}
class Text
{
/*
static class Inner implements Inter
{
public void method()
{
System.out.println("run");
}
}
*/
static Inter function()
{
return new Inter() //这里的return是返回什么? 不能理解
{
public void method()
{
System.out.println("run");
}
};
}
}
复制代码
作者:
蒙武辉
时间:
2012-4-11 23:10
这里的return是返回什么? 不能理解
返回的是一个带实现体的对象
作者:
刘基军
时间:
2012-4-11 23:16
return new Inter() //这里的return是返回什么
{
public void method()
{
System.out.println("run");
}
};
返回的是一个实现了Inter接口的子类对象,写法比较特殊.
作者:
孙国军
时间:
2012-4-11 23:17
static Inter function()
{
return new Inter() //这里的return是返回什么? 不能理解
{
public void method()
{
System.out.println("run");
}
};
复制代码
static Inter function()
从这就可以看出返回值的类型是Inter
return返回的是一个匿名内部类,
实际上就是接口Inter的匿名子类的对象
return返回的一个
作者:
魏明明
时间:
2012-4-11 23:31
返回的是Inter类型的对象,你的主函数里面调用这样写Text.function().method();所以下面才有个返回值,即Inter类型的对象。如果你不想返回就像下面的改一下。
public class Text_2 {
public static void main(String[] args)
{
T
ext.function();
}
}
interface Inter
{
void method();
}
class Text
{
/*
static class Inner implements Inter
{
public void method()
{
System.out.println("run");
}
}
*/
static
void
function()
{
new Inter()
//这里的return是返回什么? 不能理解
{
public void method()
{
System.out.println("run");
}
}
.method()
;
}
}
作者:
武庆东
时间:
2012-4-12 02:27
public class Text_2 {
public static void main(String[] args)
{
Text.function().method();
}
}
interface Inter
{
void method();
}
class Text
{
/*
static class Inner implements Inter
{
public void method()
{
System.out.println("run");
}
}
*/
static Inter function()
{
return new Inter() //这里的return是返回什么? 不能理解
{
public void method()
{
System.out.println("run");
}
};
}
}
知识点总结:
1.接口有静态成员变量和抽象方法组成!其中变量有static fina修饰,默认可以不添加,方法均为抽象方法,不能实现只能声明(这一天注意和abstract相区别,abstract class中可以有非抽象方法)
2.这里比较难懂的是 接口不能实例化!
static Inter function()
{
return new Inter()
{
public void method()
{
System.out.println("run");
}
};
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2