匿名类特点
- 匿名类可以继承父类的方法,也可以重写父类的方法
- 在使用匿名类时,必须在某个类中直接用匿名类创建对象,因此匿名类一定是内部类
- 匿名类中不可以声明static成员变量和static方法
- 匿名类是一个子类且没有类名
例子
public abstract class Bank(){
int money;
public Bank(){
money=100;
}
public Bank(int money){
this.money=money;
}
public abstract void output();
}
```java
public class showBank(){
void showMess(Bank bank){
bank.output();
}
}
public class example(){
public static void main(String args[]){
ShowBank showBank=new ShowBank();
showBank.showMess(new Bank(){
public void output(){
money+=100;
System.out.println("银行资金为:"+money);
}
}
);
showBank.showMess(new Bank(500){
public void output(){
money+=100;
System.out.println("银行资金为:"+money);
}
}
);
}
}
用Lambda代表匿名类
public class example(){
public static void main(String args[]){
ShowBank showBank=new ShowBank();
showBank.showMess(()->{
public void output(){
money+=100;
System.out.println("银行资金为:"+money);
}
}
);
showBank.showMess((500)->{
public void output(){
money+=100;
System.out.println("银行资金为:"+money);
}
}
);
}
}