📄 anonymitydemo2.java
字号:
class Source
{
private int x;
public Source(int a){ x=a;}
public int getValue(){ return x;}
public String read(){ return "USA";}
}
class OuterClass
{
public Source sour(int a,final String s)//方法类只能访问final自动变量
{
return new Source(a){ //定义一个匿名类,它由类Source派生而来
private String country=s;//匿名类成员变量
public int getValue() //匿名类成员方法覆盖了父类方法
{ return super.getValue()+10; }//调用父类方法
public String read()//匿名类成员方法覆盖了父类方法
{ return country;}
};//注意这里的分号是return语句的分号
}
}
class Demo
{
public static void main(String args[])
{
//创建一个外部类OuterClass对象outer
OuterClass outer=new OuterClass();
//调用外部类OuterClass的方法sour(),返回一个新建的匿名类对象,
//并用父类Source的引用sou指向该匿名类对象
Source sou=outer.sour(10,"China");
System.out.print("匿名类的成员变量country的值为:");
System.out.println(sou.read());
System.out.print("匿名类的成员方法getValue()的值为:");
System.out.println(sou.getValue());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -