A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 平凡的鱼 中级黑马   /  2015-9-14 19:00  /  554 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
抽象类
         当多个类中出现相同功能,但是功能主题不同
        这时可以进行向上抽取,只抽取功能定义,而不抽取功能主体

抽象类的特点:
        1/抽象方法一定在抽象类中
        2/抽象方法和抽象类都必须用abstract关键字修饰
        3/抽象类不可以用new创建对象,因为调用抽象方法没有意义
        4/抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用
                如果子类只覆盖了部分的抽象方法,那么该子类还是一个抽象类  需要用abstract修饰

特点:抽象类的中可以定义抽象方法  也可以定义不抽象的方法  
        其可以定义一个抽象方法强制子类必须重写去实现  因为不重写的话子类也会变成抽象类 不能创建对象去实现其中的方法

        抽象类可以不定义抽象方法  这样的意义仅仅是不让该类创建对象
*/
import java.util.Scanner;
class Daemo_090 {
        public static void main(String[] args) {
                //new BaseStudent().study();        //这是创建匿名对象调用方法  特点只能够使用一次
                //new Student().study();                        //抽象类无法实例化
        }
}
abstract class Student{
         abstract void study(){};        //因为是抽象方法  只是功能的定义 所以不能有方法体{}
        //abstract void speak();                        //如果Studnet中有这个抽象类  而BaseStudent没有对speak()方法进行重写  会报错  因为
                                                                                        //BaseStudent类继承了speak()抽象方法也是抽象类了  而没有对其进行abstract修饰  再其抽象类不能被调用
}
class BaseStudent extends Student{
        void study(){                                //复写了抽象类中的study的方法  这样  子类就不再是抽象类  可以被创建对象
        }
}

6 个回复

正序浏览
插兜 中级黑马 2015-9-16 13:03:51
7#
总结的很好
回复 使用道具 举报
共同学习ing
回复 使用道具 举报
加油吧,你以后的路还很长
回复 使用道具 举报
ganjx 来自手机 中级黑马 2015-9-15 21:21:03
板凳
好,共同学习
回复 使用道具 举报
舒玉琛 发表于 2015-9-14 21:17
受大神教育了,威武

哪里的大神 也是小白一个   共同努力   加油!!
回复 使用道具 举报
受大神教育了,威武
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马