Java记录 -16- 抽象类及接口

Java 抽象类及接口(abstract class and interface)

  1. 使用 abstract 关键字所修饰的类叫做抽象类。抽象类无法事理化,也就是说,不能 new 出来一个抽象类的对象(实例)。
  2. 抽象方法(abstract method),使用 abstract 关键字所修饰的方法叫做抽象方法。抽象方法需要定义在抽象类中。相对于抽象方法,之前所定义的方法叫做具体方法(有声明,有实现)。
  3. 如果一个类包含了抽象方法,那么这个类一定是抽象类。
  4. 如果某个类是抽象类,那么该类可以包含具体方法(有声明,有实现)。
  5. 如果一个类中包含了抽象方法,那么这个类一定要声明成 abstract class ,也就是说,该类一定是抽象类;反之,如果某个类是抽象类,那么该类既可以包含抽象方法,也可以包含具体方法。
  6. 无论何种情况,只要一个类是抽象类,那么这个类就无法实例化。
  7. 在子类继承父类(父类是个抽象类)的情况下,那么该子类必须要实现父类中所定义的所有抽象方法;否则,该子类需要声明成一个 abstract class。
  8. 实例:各种排序,计算面积
  9. 接口(interface):接口的地位等同于 class ,接口中的所有方法都是抽象方法。在声明接口中的方法时,可以使用 abstract 关键字,也可以不使用。通常情况下,都会省略掉 abstract 关键字。
  10. 可以将接口看作特殊的抽象类(抽象类中可以有具体方法,也可以由抽象方法,而接口中只能有抽象方法,不能有具体方法)。
  11. 类可以实现接口。实现使用关键字 implements 表示,代表了某个类实现了某个接口。
  12. 一个类实现了某个接口,那么该类必须实现接口中声明的所有方法。如果该类是个抽象类,那么就无需实现接口中的方法了。
  13. Java是单继承的,也就是说某个类只能由唯一一个父类;一个类可以实现多个接口,多个接口之间使用逗号来分隔。
  14. 多态:所谓多态,就是父类型的引用可以指向子类型的对象,或者接口类型的引用可以指向实现该接口的类的实例。关于接口与实现接口的类之间的强制类型转换方式与父类和子类之间的强制类型转换方式完全一样。
时间: 2024-11-09 09:56:18

Java记录 -16- 抽象类及接口的相关文章

JAVA中的抽象类和接口

一 抽象类 抽象类就是不能被实例化的类,即不可以用new运算符创建本类的对象.在实际应用中,抽象类应该具有子类,且其子类一般不为抽象类. java中使用抽象类的原因有如下四点: 1.抽象类是较高层次的概括,其他的类可以继承它的抽象化特征: 2.抽象类包括它的所有子类共享的公共行为和公共属性,即抽象类中定义一些属性和方法,其他类继承该抽象类并实现这些属性和方法: 3.抽象类使编写程序更贴近人类的思维方式和客观世界: 4.在用户生成实例时强迫用户生成更具体的实例,保证代码的安全性. 二 接口 在接口

java基础之抽象类与接口的区别

在学习java的过程中,或者是在找工作笔试或面试的时候,如果你是java岗位,那么抽象类与接口的区别无疑是一个大热点,是各大公司都想要考的一个小知识点,下面是我为了9月份秋招自己总结的,若有不对的地方,欢迎指正. 此处,借鉴了http://www.cnblogs.com/dolphin0520/p/3811437.html,写的很不错. 一.抽象类 使用了abstract关键字所修饰的类叫做抽象类.抽象类无法实例化,也就是说,不能new出来一个抽象类的对象(实例). 抽象方法:使用abstrac

java基础知识--抽象类与接口

抽象类与接口 1.Java 抽象类 1.引言: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象, 这样的类就是抽象类. 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用.也是因为这个原因,通常在设计阶段决定要不要设计抽象类. 2.在Java语言中使用abstract class来定义

Java基础之抽象类和接口

抽象类和接口 一.抽象类和抽象方法 对于抽象类,首先需要介绍抽象方法,而抽象类因抽象方法的存在而存在 1.抽象方法 (1)必要性: 有些父类方法不确定如何写方法体,但是对于继承它的子类又必须用到这个方法.需要用到抽象方法 例如:对于动物类,我们知道父类“动物”会叫,但是因为不同的动物叫的方法不同,而对于子类”狗“这个子类又必须用到“叫”这个方法.因此对于父类“动物”的“叫”方法不知道怎么去写.这里就用到抽象方法. 代码示例: 1 //抽象类讲解 2 public class test抽象类 {

【Java笔记】——抽象类和接口

现在开发的主流都是面向对象,面向过程几乎已经被淘汰了.理解面向对象,就要知道它的三大特性,多态继承和封装.在学习面向对象的过程中,总是会接触到抽象类和接口,涉及到继承和实现,而这两个概念又总是傻傻分不清楚.不过经过不懈努力,还是解决的差不多了.下面就来介绍下抽象类和接口: 抽象类 概念 用abstract关键字来修饰的类称为抽象类 特点 1.不是完整的类,只能作为基类 2.不能被实例化 3.有抽象方法的类必须声明为抽象类,而且该抽象方法必须被重写 举例 <span style="font-

Java学习笔记—抽象类和接口

1.抽象类 在Java语言中使用abstrac关键字来定义抽象类和抽象方法,抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号. public abstract class Employee { private String name; private String address; private int number; public abstract double computePay(); //其余代码 } 抽象类总结: 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报

Java基础之抽象类与接口

1.抽象类 抽象就是从多个事物中将共性的,本质的内容抽取出来.在Java中用abstract关键字修饰class来表示抽象类. 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. public abstract class Animal { } 关于抽象类和抽象方法的使用注意: (1)抽象类和抽象方法必须使用abstract关键字修饰. (2)抽象类不能实例化,即使有构造函数.只能使用多态的方法来实例化. abstract class Ani

java中的抽象类和接口详解

1.抽象类 /** 1. 抽象方法一定存在于抽象类中,抽象方法和抽象类需要abstract修饰! 2. 抽象类不能实例化. 3. 如果抽象类中多个抽象方法,而其子类只继承了一个抽象方法,则该子类为抽象类,故也无法实力化. 4. 抽象类只能被子类覆盖其全部的抽象方法,才能建立子类对象! 5. 抽象类中可以有非抽象方法 */ //该子类未覆盖父类func1的抽象方法,故子类为抽象类,不能实例化.编译失败 abstract class Person{     abstract void func();

java中的抽象类与接口

抽象类: 用关键字abstract(位于class关键字之前的任何位置)修饰的类叫做抽象类,抽象类不能被实例化,即不能new出来一个抽象类的对象(实例). 对于关键字abstract---->可选修饰符(static.final.abstract)一般可以共存,但abstract与static.final都不能同时共存(理解其的真正含义) 抽象方法: 用abstract关键字所修饰的方法叫做抽象方法. 抽象方法必须定义在抽象类中. 抽象方法有声明,无实现(没有花括号{},有花括号但是内容为空也是

Java~类,抽象类和接口

最近有空就着迷于java的世界,希望可以把自己的lind重构一个java版本出来,虽然遇到一些小问题,但也都解决了,还是那句话,知识需要积累,程序员需要一个追求! 类 抽象类 接口 泛型类 泛型接口 非泛型类继承泛型类后,输出泛型的名称 一 类,与C#类似,只是去除了属性的概念,由方法去操作指定的字段 package lind.Test; public class User extends Entity { public User(int id, String name) { super(1);