黑马程序员技术交流社区

标题: 有关抽象类的问题 [打印本页]

作者: hg3093483    时间: 2013-3-19 22:12
标题: 有关抽象类的问题
我是这样理解的,抽象类是继承的一种,里面只有方法,是需要全部继承的,请问我这样的理解对吗?哪位大哥知道,最好能实例化说明一下。谢谢啦。
作者: 张宝    时间: 2013-3-19 22:30
当前类如果使用abstract修饰的那么这个类就是抽象类。
抽象类的特点:1.抽象类不可以实例化 不能new
                    2.抽象类是用来被继承的。
        3.抽象类中可以包含抽象方法.抽象方法是用abstract修饰的方法. 抽象方法是用来被重写的
抽象方法的格式:修饰符 abstract 方法的返回值类型 方法名(参数);

如果父类中包含抽象方法,那么子类必须将父类中所有抽象方法重写。        

                  
作者: 再见亦是泪    时间: 2013-3-19 22:31
里面可以有变量,不一定全是抽象方法,需要全部继承
作者: 于腾飛    时间: 2013-3-19 22:44
abstract class Show   //抽象类
{
     public void run(){ runcode();}
     
     public abstract void runcode();
}
class Student extends Show //student继承Show,复写了父类的runcode,
{
   public void runcode(){int x=1;System.out.pringt(x);}
}
class Temp
{
  public static void main(String[] args)   //new一个对象,调用run
   {   Student s = new Student();
        s.run();
}
作者: 张亚青    时间: 2013-3-19 22:53
抽象类是指当多个类中出现了相同功能,但是功能主体不同,这时候可以进行向上抽取,这时,只抽取功能定义,而不抽取功能主体。

抽象类的特点:
1、抽象方法一定定义在抽象类中
2、抽象方法和抽象类都必须被abstract修饰
3、抽象类不可以用new创建对象,因为调用抽象方法没意义。
4、抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用。如果子类覆盖了部分抽象方法,那么该子类还是一个抽象类。
5、抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
6、当抽象中的方法都是抽象的,那么该类可以通过接口形式来表示。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2