抽象类和接口学习小结

区别:
1.本质区别是抽象类描述这个类是什么,而接口则是描述这个类可以做什么功能。
2.接口的方法都是publice
3.抽象类被继承时,子类要实现父类所有抽象方法,要overwrite关键字
4.抽象类可以包含字段和普通方法
5.继承时,基类只能有一个,接口可以有多个

共同点:
1.继承抽象类和抽象类时,都要实现他们所有的方法
2.它们都不可以被实例化

抽象方法、虚方法、普通方法
1.继承抽象类时,如果要使用父类中的普通方法,加一个new关键字隐藏(如:public new void Add)
2.虚方法和普通方法差不多,但有个vritual关键字,虚方法和抽象方法不同,它必须被实现。虚方法可以被覆写,
抽象方法在子类中必须被实现(覆写overwrite)

1.普通方法的调用,由编译时决定(由左边类型决定)
2.抽象方法和虚方法的调用,由运行时决定(由右边类型决定)

时间: 2024-10-09 22:16:31

抽象类和接口学习小结的相关文章

抽象类与接口学习小结

抽象类:在某些类中某些功能不能定义具体的行为功能,这种功能称之为抽象功能,含有抽象功能的类,就称为抽象类. 抽象类的特点:抽象类和抽象方法必须用abstract关键字修饰 抽象类的格式:   abstract class类名{} 抽象方法的格式:  public abstract void 方法() 抽象类不一定含有抽象方法,有抽象方法的类一定是抽象类. 抽象类不能实例化,因为该类不是具体的实现类. 抽象类需要按照多态的形式,由具体的子类实例化. 抽象类的子类要么是抽象类,要么必须重写并实现抽象

抽象类和接口学习区别

最近复习了一些Java的基础知识,这里总结一下抽象类和接口的区别. 1. abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系.但是,一个类却可以实现多个interface. 2. 在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abst

抽象类和接口学习总结

抽象类可以称为一个模板,定义以后所有该基类的子类的最基本特征,就像定义什么叫动物,什么叫植物,所以有些属性和方法是固有的,可以在抽象类中先定义好,就像之前学过的继承一样,把某些很有用的东西传承下去:但还有些东西是不能确定的,比如,这种动物吃什么等,都还是不能确定,但是这又是其固有的和方法,这时候我们可以用关键字 abstract 将其定义为抽象方法,等待它们的子类去实现,而其子类一定要实现这些抽象方法,不然不能被创建实例,依旧是属于抽象类.抽象类适用于很强的父子关系. 抽象类可以没有抽象方法,但

抽象类与接口学习总结

当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的.所以在出c#中允许在定义方法时不写方法体,不包含方法体的方法称为抽象方法,它被abstract修饰符标记.包含抽象方法的类要声明为抽象类,但抽象类可以不包含抽象方法,抽象类不可以被实例化.如果想调用抽象类中的方法,需要创建一个子类,在子类中实现抽象方法.任何派生自抽象类的类必须使用override关键字实现该类所有的抽象成员,除非派生类自己也是抽象类.如果一个抽象类中的所有方法都是抽象的,则可以将这个

大龙的学习笔记之“虚方法,抽象方法,重写,抽象类,接口”

虚方法:可以重写,也可以不重写,英文名:virtual 抽象方法:必须重写,必须放在抽象类中,英文名:abstract 重写:可以重写三种方法:virtual,abstract,override,英文名:override 抽象类:可以有抽象方法,也可以有非抽象方法,英文名:abstract 接口:和抽象类相似,但是里面只有未实现的方法,英文名:interface 大龙的学习笔记之"虚方法,抽象方法,重写,抽象类,接口",布布扣,bubuko.com

Java基础__慕课网学习(24):深入理解抽象类与接口(转)

深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为:

C++语言学习(十五)——C++抽象类与接口

C++语言学习(十五)--C++抽象类与接口 一.抽象类与接口 1.抽象类简介 面向对象的抽象类用于表示现实世界的抽象概念,是一种只能定义类型,不能产生对象的类(不能实例化),只能被继承并被重写相关函数,直接特征是相关函数没有完整实现.C++语言没有抽象类的概念,通过纯虚函数实现抽象类.纯虚函数是指定义原型的成员函数,C++中类如果存在纯虚函数就成为了抽象类.抽象类只能用作父类被继承,子类必须实现父类纯虚函数的具体功能,如果子类没实现纯虚函数,子类也为抽象类.抽象类不可以定义对象,但是可以定义指

Java基础学习191221(可变参数,数组,Array类,稀疏数组,继承重写多态,抽象类,接口)

Java基础学习 可变参数 在方法声明中,在指定参数类型后加一个省略号(...). 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数.任何普通参数都必须在它之前声明. public class printMax { public static void main(String[] args) { printMax(1,5,8,78,415,15); } public static void printMax( double... numbers){ if (numbers.length

JAVA学习经验--总结JAVA抽象类和接口

* --总结JAVA抽象类和接口  * 1.抽象类:  *             1>抽象类可以修饰方法,修饰类,但不能修饰属性,不能被实例化  *             2>抽象类可以被继承,只能是单继承,继承抽象类必须实现抽象方法  *             3>抽象类不能被static ,fina,private一起修饰  *             4>抽象类是有多态性的  *  * 2.接口:  *             1>接口是一种特殊的抽象类,不能被实