**1:匿名子类,没有写出子类,直接在执行的时候写的骚操作。**
public class Bs{
//本来因为abstract方法没有重写不能new的,匿名子类对象sd
//对象有名为sd,实例的类没有名字用new As()代替,后面{}里重写方法
As sd = new As(){
public void Cs(){
system.out.println();
//表示重写了abstract方法,在一个匿名子类
}
public void Es(){
system.out.println();
//表示重写了abstract方法,在一个匿名子类
}
};//这有个分号;
// As sd = new As(){******}:
abstract class As{
public abstract void Cs():
public abstract void Es();
}
分类
格式: 类. 方法(new 类()); new的对象名匿名,实例类的名字不匿名。
格式: 类. 方法(new 类(){****重写方法****}); new的对象名匿名,实例类名也匿名。
//调用的参数用的什么表示,就用什么匿名。
//例void zxc(object obj)-----类.zxc(new object()){---重写方法---}
接口也同上;
格式: 类. 方法(new 类());匿名-对象名,实例类-不匿名。
格式: 类. 方法(new 接口(){---重写方法---});匿名-对象名,匿名-实例接口名。
//接口是不能new的这里只是用来代替,匿名表示。
//调用的参数用的什么表示就用什么匿名。
//例void zxc(接口AA aa)-----类.zxc(new AA()){---重写方法---}