package com.BigYoung.abstracts;
import java.util.ArrayList;
import java.util.Iterator;
也求 大牛讲一下 抽象类的作用, 一半什么时候会用到抽象类
import java.util.List;
import com.BigYoung.abstracts.Datebase;
public class BigyoungUtil extends Datebase {
List list=new ArrayList();
public BigyoungUtil(String TableName,List list) {
this.list=list;
super(TableName);
// TODO Auto-generated constructor stub
}
@Override
public String queryinfo() {
System.out.println("asdsa"+this.TableName);
return null;
}
@Override
public void queryall() {
// TODO Auto-generated method stub
}
}
super(TableName);应该放在this.list=list;之前;
抽象类你可以把它理解成一个宽泛的概念,一个模糊的名词,例如人 public abstract class Person{}; 你想想看,人都有鼻子,眼睛、嘴巴、、、等这些共有的特性,
但是人呢又分为男人、女人、当然可能还有人妖。比如当我们定义一个女人的时候,我们就不需要在定义她的公有特性了,比如都有鼻子、眼睛、嘴巴、、、我们只需要
定义女人特有的一些特性,比如女人能生孩子。那么就只需要继承人这个类就可以 public class woman extends Person{
public void 生孩子(){}
};
实际项目应用中,比如某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,那么只需在各个子类中完成各自的业务逻辑代码就ok了
super(TableName);应该放在this.list=list;之前
super(TableName);应该放在this.list=list;之前
调用基类构造函数必须写在构造函数开头。
你把鼠标放在出错行那边,会有提示错误信息的,看看就知道什么错误了
当有抽象方法时必须用到抽象类,可以包含方法的实现细节,因此可以将子类中公用的逻辑上提,增加的代码的复用。
用抽象类及接口最重要的用处还是在于,使代码实现很方便的扩展,最简单的就是在new对象时,将生成对象定义为接口,在以后需要替换时就很方便。