您的位置:首页 > 职场人生

黑马程序员_关于java抽象类abstract自我总结

2014-08-20 21:13 309 查看
-----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

抽象类的细节:

1:抽象类中是否有构造函数?有,用于给子类对象进行初始化。

2:抽象类中是否可以定义非抽象方法?

    可以。其实,抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体。所以抽象类和一般类在定义上,都是需要定义属性和行为的。只不过,比一般类多了一个抽象函数。而且比一般类少了一个创建对象的部分。

3:抽象关键字abstract和哪些不可以共存?final , private , static

4:抽象类中可不可以不定义抽象方法?可以。抽象方法目的仅仅为了不让该类创建对象。

-----------------------------------------------------------------------------------------------

模板方法设计模式:

解决的问题:当功能内部一部分实现时确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。

abstract class GetTime{

    public finalvoid getTime(){//此功能如果不需要复写,可加final限定

        long start =System.currentTimeMillis();

        code(); //不确定的功能部分,提取出来,通过抽象方法实现

        long end =System.currentTimeMillis();

        System.out.println("毫秒是:"+(end-start));

    }

    public abstract void code(); //抽象不确定的功能,让子类复写实现

}

class SubDemo extends GetTime{

    public void code(){ //子类复写功能方法

        for(int y=0;y<1000; y++){

            System.out.println("y");

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: