Java特性之继承的应用

继承是为了复用,复用是为了减少冗余的代码,提高开发效率。

这次我讲继承,仅仅只是讲它在我开发中一个小小的应用,就是关于Controller日志打印。我们通常使用日志,要么是使用slf或者是log4j。

通常想在Controller打印对应的日志,需要添加如下代码:

    private static Logger logger = Logger.getLogger(TestController.class);

 

但是如果是在每个类都要写这个,随着业务的增长,Controller只会越多不会越少,每个类都增加这段代码是不是太冗余了。

于是我们就利用Java的继承特性来解决这个问题。

既然这段代码都要用,那么我们可以通过编写一个抽象类来解决这个问题。

Java开发者们都知道,让普通类继承抽象类,不必复写对应的方法,由自行自主决定。

我个人编写的抽象类如下:

package com.controller;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class AbstractController {
    
    protected Logger logger = LoggerFactory.getLogger(getClass());
}

 

我对应的Java代码如下图:

 

如上利用Java的继承特性,便可以解决Controller日志代码段冗余问题。

 

posted @ 2018-10-31 19:11  挑战者V  阅读(431)  评论(0编辑  收藏  举报