java中的抽象类

抽象类:是指类由abstract修饰,最大特点是包含抽象方法,抽象方法是只声明而未实现(没有方法体的方法)。抽象方法定义由abstract完成,抽象类由abstract关键字声明

关于抽象类需要注意一下几点:

1,抽象类中的抽象方法只声明,不实现

2,子类在继承抽象类时(子类为非抽象类)必须继承抽象类等的所有抽象方法。

3,抽象类中可以没有其他非抽象方法,但是反过来含有抽象方法的类必然是抽象类。

4,抽象类对象可以使用对象的向上转型方式,通过子类来进行实例化操作。

abstract class A{

  private String info="Hello World";

  public void print(){

  System.out.println(info);

  }

 public abstract void get();

}

下例为错误的使用抽象类:

class B{

puclic static void main(){

A a=new A()      // 抽象类不能直接实例化 

}

}

正确的使用:

class C extends A{

puclic static void main(args[]){

A a=new C();

a.get();

}

puclic abstract void get(){

System.out.println("Hello ");

}

}

Result: Hello


具体应用中抽象类对应使用的设计模式是模板模式

例如:

abstract class Animal{

public abstract void eat(); 

public abstract void sleep();

public abstract void play();

}

class Dog{

public  void eat(){

  System.out.println("狗吃饭.......");

}

public  void sleep(){

System.out.println("狗睡觉......");

}

public void play(){

}

}

 class People{

public  void eat(){

System.out.println("人吃饭......");

}

public void sleep(){

System.out.println("人在睡觉....");

}

public void play(){

System.out.println("人在玩......");

}

}

例外关于抽象类的模板设计模式的典型例子就是servlet

servlet继承HttpServlet,就会继承doGet()和doPost()方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值