java使用new对象后接大括号{}

public class Student {
    String name ;
 
    public static void main(String[] args) {
 
        //第一种情况,初始化一个对象
        Student s = new Student(){
            String name = "chengho";
        };
 
        //第二种情况,匿名内部类,实例化一个接口
        Person p = new Person(){
 
            @Override
            public void setName() {
                //随便写点什么
                System.out.println("测试setName");
            }
        };
        
        //检测是否实例化
        p.setName();
    }
 
}
 
//测试用的接口
interface Person{
    void setName();
}

eg:匿名内部类与红框里面的class是等价的,只是第一种方式顺便也实例化了。

猜你喜欢

转载自blog.csdn.net/luyao3038/article/details/129859007