/*封装操作
* 抽象方法没有方法体
* 1.抽象方法没有方法体,没有实现。只做声明(告诉你它可以做什么,至于怎么做,需要自己实现)
* 在一个类中,如果有一个抽象方法,那么这个类必须是一个抽象类。
* 抽象类:
* 1.做封装的,封装之后,没有实现,只做声明
* 2.不能够直接实例化,如果想实例化,必须实现抽象方法(相当于一个类继承了抽象方法,并且实现了抽象方法)
* */
public abstract class UserDao {
public abstract void findByName(String name);
public static void main(String[] args) {
UserDao u=new UserDao(){//这个对象 匿名内部类,匿名对象
@Override
public void findByName(String name) {
System.out.println("根据"+name+"查询用户");
}
};
u.findByName("wang");
//UserDao对象 //new MyUserDao();
MyUserDao myd=new MyUserDao();//创建对象
myd.findByName("xxx");
u=myd;
u.findByName("yyy");
}
}
/*继承
* 当一个类继承了抽象类,那么这个类必须实现抽象类中的抽象方法
*
* */
class MyUserDao extends UserDao{
@Override
public void findByName(String name) {
System.out.println("根据名称"+name+"查询用户");
}
}