![](https://img-blog.csdnimg.cn/direct/144205c6587241fcaa8717b6b98bffd3.png)
![](https://img-blog.csdnimg.cn/direct/f585f57386bc40f396ea7985809a6b31.png)
package pack1.pack2;
public abstract class Animai {
abstract void shout();
void sleep(){
System.out.println("Animai.sleep");
}
public static void main(String[] args) {
Dog d1=new Dog();
d1.shout();
}
}
class Doga extends Animai{
@Override
void shout() {
System.out.println("汪汪汪");
}
void kanmen(){
System.out.println("Dog.kanmen");
}
}
class Cata extends Animai{
void shout(){
System.out.println("喵喵喵");
}
}
package pack1.pack2;
//模板方法模式(抽象类的应用)
public abstract class DBoprator {
public abstract void connection();
void open(){
System.out.println("打开数据库");
}
void use(){
System.out.println("使用数据库");
}
void close(){
System.out.println("关闭数据库");
}
void process(){
connection();
open();
use();
close();
}
public static void main(String[] args) {
new MySqlOperator().process();
}
}
class MySqlOperator extends DBoprator{
@Override
public void connection() {
System.out.println("建立和MySql数据库的连接");
}
}