抽象方法和抽象类 & 接口

抽象方法

使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。

抽象类

包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。

抽象类的使用要点

  1. 有抽象方法的类只能定义成抽象类
  2. 抽象类不能实例化,即不能用new来实例化抽象类。
  3. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
  4. 抽象类只能用来被继承。
  5. 抽象方法必须被子类实现。

将方法的设计与实现分离

接口

接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。只有常量和抽象方法。

接口定义

  1. 访问修饰符:只能是public或默认。
  2. 接口名:和类名采用相同命名机制。
  3. extends:接口可以多继承。
  4. 常量:接口中的属性只能是常量,总是:public static final 修饰。不写也是。
  5. 方法:接口中的方法只能是:public abstract。 省略的话,也是public abstract

原文地址:https://www.cnblogs.com/pallcard-LK/p/8975021.html

时间: 2024-07-29 21:16:14

抽象方法和抽象类 & 接口的相关文章

抽象方法,抽象类,接口

抽象类:具有抽象方法的类就是抽象类 抽象方法:没有方法体的方法就是抽象方法 作用:主要协同工作,制定标准 特征: 抽象方法就是没有方法体的方法, 方法体就相当于函数体,抽想方法前,必须使用abstract 关键字,且方法后不能够写{},但是要写结束符; 如果类中有抽象方法,那么这个类的前面也需要 abstract关键字修饰 抽象类中可以有非抽象方法 抽象类可以参数,要实现该抽象方法,必须传入同样参数 不能直接实例化,必须由其他的类继承并且完全实现出所有的抽象方法,才可以使用,抽像类主要是给其他类

C#中的虚方法,抽象方法,抽象类以及接口

前言 众所周知,面向对象三大特点:封装.继承.多态.而今天我们将要学习的都是以多态为基础的,而什么是多态呢?举个不恰当的例子,比如你的对象,今天面对你是一副姿态,明天她给你戴绿帽子又是另一副模样(这个例子是从一个博主那看到的),你的对象还是同一个人,但是可以根据使用的对象来展现不一样的面貌,这,就是多态.简单来说:多态就是在继承的前提下,不同对象调用相同方法却表现出不同的行为.注:本次示例使用VS Code. 虚方法:virtual 虚方法存在于相对于需要实现多态的子类的父类当中,同时也是实现多

C++ 虚函数&纯虚函数&抽象类&接口&虚基类(转)

http://www.cnblogs.com/fly1988happy/archive/2012/09/25/2701237.html 1. 多态 在面向对象语言中,接口的多种不同实现方式即为多态.多态是指,用父类的指针指向子类的实例(对象),然后通过父类的指针调用实际子类的成员函数. 多态性就是允许将子类类型的指针赋值给父类类型的指针,多态是通过虚函数实现的. 多态可以让父类的指针有“多种形态”,这是一种泛型技术.(所谓泛型技术,就是试图使用不变的代码来实现可变的算法). 2. 虚函数 2.1

JAVA基础笔记(很实用)继承-多态-抽象类-接口-异常-集合-IO-线程-Socket

第七章:Java继承 一.继承的概念 1.一个父类派生出一个子类的机制称为继承. 2.承是重用程序代码的有力手段,当多个类之间存在相同的属性和方法时,可以从这些类中抽象出父类. 3.们只需要在父类中定义这些属性和方法,而子类无须重新定义这些属性和方法,直接从父类继承即可. 4.通过继承,子类就会自动的拥有在父类中定义的属性和方法. 5.两个或多个类的成员中存在一部分相同的情况,通过继承机制,可以利用现有的类来创建新的类. 6.子类不但拥有父类的成员,还可以定义新的成员. 7.可以提高软件的可重用

小知识(五):抽象类&接口

抽象类abstract: 抽象类和抽象方法可以用abstract关键字进行标识.就是没有完全定义的类或方法.所以不能直接实例化操作. 就因为他没完全定义所以不能用sealed关键字进行密封. 抽象方法不含程序主体: public abstract class Student { //抽象方法,不含程序体 public abstract void GetStudentID(); //子类可访问字段 prodected int i; //定义i的属性 public int I { get { ret

黑马程序员--java基础之多态,抽象类,接口,匿名内部类

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 4.4 子类的实例化过程 子类中所有的构造函数默认都会访问父类中空参数的构造函数. 因为每一个构造函数的第一行都有一条默认的语句super();. 子类会具备父类中的数据,所以要先明确父类是如何对这些数据初始化的. 为什么子类实例化的时候要访问父类中的构造函数呢? 那是因为子类继承了父类,获取到了父类中内容(属性),所以在使用父类内容之前,要先看父类是如何对自己的内容进行初始化的. P.S.

8 面向对象之抽象类+接口+内部类

1 final关键字 用法:  1)使用final修饰变量,该变量就变成常量,在运行的过程中无法重新赋值. 2)使用final修饰方法,该方法无法在子类中重写 3)使用final修饰的类,不能被继承(派生其他子类) JDK中常见的final修饰的类: java.lang.Math   java.lang.String 2 抽象类和抽象方法 抽象方法:使用abstract修饰的方法.特征: 没有方法体. 抽象类:使用abstract修饰的类. 特点: 1)抽象类中可以包含抽象方法.包含抽象方法的类

《day09---继承-抽象类-接口》

//面向对象_继承_概述---单继承_多继承. //描述学生. /* class Student { //属性. String name; int age; //行为: void study() { System.out.println("good good study"); } } class Worker { //属性: String name; int age; //行为: void work() { System.out.println("hard work"

普通类 抽象类 接口

首先得搞懂什么是抽象类:一.概念:    在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样.并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类.    比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆.三角形这样一些具体概念.它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念.正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的