java 匿名内部类里面的变量值如何传送给外部变量啊?
3个回答
展开全部
所谓匿名内部类吗,就是没有名字的内部类,因此匿名内部类在声明类的同时也创建了对象。
其基本语法如下:
new <匿名内部类要继承父类对应的构造器>
{
// 匿名内部类的类体;
};
下面说明了继承的匿名内部类的使用。
class outter
{
public void show()
{
System.out.println("这里是outter的方法!");
}
}
class myclass
{
public static void main(String []args)
{
outter out=new outter{
public void show()
{
System.out.println("创建匿名内部类的对象!");
}
};
out.show();//体现了多态性。
}
}
输出的是:“创建匿名内部类的对象!”
通过引用访问匿名内部类的成员,均是通过多态完成的,因此匿名内部类根本无法定义其自身类型的引用。
另外,由于匿名内部类是一个独立的类,其编译后也会产生一个独立的类文件。但是由于没有名称,所以其类文件的命名为“<外部类名称>$<n>”,其中“n”表示第几个匿名内部类。
其基本语法如下:
new <匿名内部类要继承父类对应的构造器>
{
// 匿名内部类的类体;
};
下面说明了继承的匿名内部类的使用。
class outter
{
public void show()
{
System.out.println("这里是outter的方法!");
}
}
class myclass
{
public static void main(String []args)
{
outter out=new outter{
public void show()
{
System.out.println("创建匿名内部类的对象!");
}
};
out.show();//体现了多态性。
}
}
输出的是:“创建匿名内部类的对象!”
通过引用访问匿名内部类的成员,均是通过多态完成的,因此匿名内部类根本无法定义其自身类型的引用。
另外,由于匿名内部类是一个独立的类,其编译后也会产生一个独立的类文件。但是由于没有名称,所以其类文件的命名为“<外部类名称>$<n>”,其中“n”表示第几个匿名内部类。
展开全部
interface pr {
void print1();
}
public class noNameClass {
public pr dest() {
return new pr(){
public void print1(){
System.out.println("Hello world!!");
}
};
}
public static void main(String args[]) {
noNameClass c = new noNameClass();
pr hw=c.dest();
hw.print1();
}
pr也可以是一个类 但是你外部调用的方法必须在你的这个类或接口中声明 外部不能调用匿名类内部的方法
void print1();
}
public class noNameClass {
public pr dest() {
return new pr(){
public void print1(){
System.out.println("Hello world!!");
}
};
}
public static void main(String args[]) {
noNameClass c = new noNameClass();
pr hw=c.dest();
hw.print1();
}
pr也可以是一个类 但是你外部调用的方法必须在你的这个类或接口中声明 外部不能调用匿名类内部的方法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
final关键词
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询