【JAVA超类】的介绍、作用以及示例代码
目录
介绍
Java中的超类(也称为父类或基类)主要用于定义一组共享属性和方法的类。超类可以被子类继承,子类可以通过继承超类来获取超类中的属性和方法,从而实现代码的复用和层次化设计。
作用:
-
继承和代码复用:超类定义了一组通用的属性和方法,子类可以继承超类并获取这些属性和方法,避免了重复编写相同代码的情况,提高了代码的复用性和开发效率。
-
多态性:通过使用超类作为参数类型或返回类型,可以实现多态性。多态性使得可以在运行时动态绑定不同的子类对象,从而实现灵活的程序设计。
-
统一接口:超类可以定义一组共同的方法,子类可以根据需要覆盖这些方法或添加额外的方法,从而实现一组统一的接口。这样可以使得不同的实现类具备相同的接口,方便在代码中进行统一调用和处理。
-
层次化设计:超类可以作为一个抽象的概念,用于实现层次化设计。不同的子类可以继承不同的超类,从而实现更加模块化和灵活的程序设计。
代码示例
先建一个超类接口
/**
* 工具类的超类
*/
public interface Tool {
}
再建几个继承该超类的接口
package com.art.util.ext;
import com.art.util.Tool;
import java.util.List;
import java.util.Set;
/**
* 操作时间的工具类
*
* @author xudahai
*/
public interface DateExt extends Tool {
String getCurrentDate();
/**
* 2024年12月27日 转换为27
*
* @param list
* @return
*/
Set treeYear(List list);
}
package com.art.util.ext;
import com.art.util.Tool;
/**
* 操作文本的工具类
*
* @author xudahai
*/
public interface TxtExt extends Tool {
String deleteH5(String txt);
}
最后是实现上面接口的类:
package com.art.util.ext.impl;
import com.art.util.ext.DateExt;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @author xudahai
* @Description 时间的操作
*/
public class DateImplUtil implements DateExt {
@Override
public String getCurrentDate() {
Date now = new Date();
SimpleDateFormat ft = new SimpleDateFormat("YYYY年MM月dd日 hh:mm:ss ");
return ft.format(now);
}
@Override
public Set treeYear(List list) {
Set set = new TreeSet();
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
String st = (String) iterator.next();
String year = st.split("年")[0];
set.add(year);
}
return set;
}
}
package com.art.util.ext.impl;
import com.art.util.ext.TxtExt;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TxtImpl implements TxtExt {
private static final String regEx_html = "<[^>]+>";
@Override
public String deleteH5(String txt) {
Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
Matcher m_html = p_html.matcher(txt);
txt = m_html.replaceAll(""); // 过滤html标签
return txt.trim();
}
}
总结
超类的作用是提供一组共享的属性和方法,通过继承和多态性实现代码复用、灵活的程序设计和统一的接口。
原文地址:https://blog.csdn.net/xudahai513/article/details/144759800
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!