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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 意念痴心灬戒贪 中级黑马   /  2015-12-17 19:45  /  471 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类&抽象方法
抽象类即不能创建实例的类型,仅用来描述一种类型应该具备的基本特征与功能。
抽象方法即只有功能声明,没有功能主体实现的方法。
具体类继承抽象类,将继承过来的抽象方法重写为具体方法(该过程叫实现),完成类的定义,创建的为子类对象。
格式:
        使用abstract修饰抽象类与抽象方法
        //abstract在class前修饰类
        //abstract在访问权限后,返回值类型前修饰方法
如:
        abstract  class  Person {
                public abstract void  eat();
a)        概念
Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。
抽象方法即只有功能声明,没有功能主体实现的方法。
抽象类用来描述一种类型应该具备的基本特征与功能,例如:狼和狗共性都是犬科,犬科就是抽象出来的概念。而犬科描述了所有的犬科子类应具备的属性和行为。
具体如何去完成这些行为由子类通过方法重写来完成,如:狼和狗都有吼叫的方法,可是吼叫内容方式不同。所以抽象出来的犬科虽然有吼叫功能,但是并不明确吼叫的细节。
b)        抽象定义格式
        使用abstract修饰抽象类与抽象方法
        //abstract在class前修饰类
        //abstract在访问权限后,返回值类型前修饰方法,方法没有方法体。
如:
        abstract  class  Person {
                public abstract void  eat();
}
c)        抽象类&抽象方法的使用
抽象类无法直接创建对象,只能被子类继承后,创建子类对象。
        子类定义时继承抽象类
抽象类是事物的描述,子类需要继承父类完成最终的功能实现细节(即重写方法,完成方法体)。
将一个抽象方法重写的过程也叫实现方法的过程。
        子类定义后创建实例对象
在定义好子类后,可以直接创建对象。在所有使用子类的地方可以传入子类对象,在所有使用父类的地方也可以传入子类对象,因为属性与方法是子父类都是相同的。
a)        概念
接口是功能的集合,是比抽象类更为抽象的类,同样是一种数据类型。
接口的更为抽象表现为其内的所有方法均为抽象方法。同时不定义普通的成员变量。
使用时,接口同样不能创建对象,只能在定义时实现接口。接口只能实现,不能继承。实现的动作类似继承,只是关键字不同,实现使用implements。
Java支持一个类同时实现多个接口。
像父类一样,所有定义接口的地方,也可以传入其实现类对象(子类对象)。
b)        定义格式
使用interface代替了原来的class,其他步骤与定义类相同。
public interface 接口名 {
        抽象方法1;
抽象方法2;
抽象方法3;
}
如:
public interface Careable {
public abstract void carCare();
}
c)        使用格式
在具体定义类时实现接口,必须重写(实现)所有抽象方法
或者定义抽象类,可以留下若干抽象方法不实现。
class 类 implements 接口1,接口2{}
          如:
                class Tesla implements  Careable {
public void carCare() {
        System.out.println(“不去汽车保养店,去专业Tesla保养店!”);
}
}

1 个回复

倒序浏览
虽然我不太懂,但是看起来非常吊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马