这种写代码的方法叫什么写法?

时间:2022-11-03 20:18:55
大意是在一个method里new 一个Object时,把这个对象所属的Class的定义直接跟在后面写出来(我看到的这个样例代码是好几十行)。我自己比较熟悉的写法是,先定义Class,后New Object。

 final ForEachChildOperation  createArticle = new  ForEachChildOperation("Item") {
        private double total;
        ……
}

4 个解决方案

#1


匿名内部类啊。。。

#2


这么写有啥好处吗?总是看不顺眼。我在看一段处理XML消息的代码,看得很费劲,所以就发出来问。XML有节点嵌套,所以它这样些比较好是吗?

#3


匿名内部类写得方便一点吧,如果这个类中调用到其他接口或者抽象类,而他的方法实现只用在这个类里面,那么就可以直接通过匿名内部类的方式写在同一个类里面,不用再特意去创建一个class去写实现类。

#4


匿名内部类:简单来说就是你需要ForEachChildOperation类的子类的一个对象,要重写里面的方法,但是只是在特定的时候才用到,不用的时候也不需要它存在,这种时候你没必要单独写一个类继承ForEachChildOperation(因为你有可能只用一次),所以用这种形式:new ForEachChildOperation("Item") {
        private double total;
        ……
}它就是ForEachChildOperation的一个子类的对象,但是却没有类名

#1


匿名内部类啊。。。

#2


这么写有啥好处吗?总是看不顺眼。我在看一段处理XML消息的代码,看得很费劲,所以就发出来问。XML有节点嵌套,所以它这样些比较好是吗?

#3


匿名内部类写得方便一点吧,如果这个类中调用到其他接口或者抽象类,而他的方法实现只用在这个类里面,那么就可以直接通过匿名内部类的方式写在同一个类里面,不用再特意去创建一个class去写实现类。

#4


匿名内部类:简单来说就是你需要ForEachChildOperation类的子类的一个对象,要重写里面的方法,但是只是在特定的时候才用到,不用的时候也不需要它存在,这种时候你没必要单独写一个类继承ForEachChildOperation(因为你有可能只用一次),所以用这种形式:new ForEachChildOperation("Item") {
        private double total;
        ……
}它就是ForEachChildOperation的一个子类的对象,但是却没有类名

相关文章