`
johnnycmj
  • 浏览: 35809 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

07.面向对象(4)--抽象类和接口

 
阅读更多

 

7.接口和抽象类

7.1、抽象类

java中可以定义一些不含方法体的方法,它的方法体的实现交给该类的子类根据自己的情况去实现,这样的方法就是抽象方法,包含抽象方法的类就叫抽象类。一个抽象类中可以有一个或多个抽象方法。

抽象方法必须用abstract修饰符来定义,任何带有抽象方法的类都必须声明为抽象类。

1)抽象类定义规则:

抽象类必须用abstract关键字来修饰;抽象方法也必须用abstract来修饰。

抽象类不能被实例化,也就是不能用new关键字去产生对象。

抽象方法只需声明,而不需实现。

含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。

2)抽象方法的写法:

abstract 返回值类型 抽象方法( 参数列表 );

抽象类和抽象方法的例子:

 

abstract class A{
			abstract int aa(int x,int y);
		}

 

 注意:含有抽象方法的类肯定是抽象类,抽象类中的某个方法不一定是抽象的。

 

7.2、接口

如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义。接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

例如:

 

public interface Runner {
			int ID = 1;
			void run();
		}

 在接口Runner的定义中,即使我们没有显示的将其中的成员用public关键字标识,但这些成员都是public访问类型的。接口里的变量默认是用public static final标识的,所以,接口中定义的变量就是全局静态常量。

 

我们可以定义一个新的接口用extends关键字去继承一个已有的接口,我们也可以定义一个类用implements关键字去实现一个接口中的所有方法,我们还可以去定义一个抽象类用implements关键字去实现一个接口中定义的部分方法。

例如:

 

interface Animal extends Runner{
			void breathe();
		} 

 

class Fish implements Animal{
		  public void run(){
			System.out.println("fish is swimming");
		  }
		  public void breathe(){
		 	System.out.println("fish is bubbling");
		  }
		} 

 

abstract LandAnimal implements Animal{
			public void breathe(){
				System.out.println("LandAnimal is breathing");
		  }
		}

 一个类可以在继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implements关键字之前,如我们可以这样定义类Student。

class Student extends Person implements Runner{
			……
			public void run(){
				System.out.println(“the student is running”);
			}
			……
		}
  下面是对接口的实现及特点的小结:

实现一个接口就是要实现该接口的所有方法(抽象类除外)。

接口中的方法都是抽象的。

多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口。

 

分享到:
评论

相关推荐

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    好啊好啊 抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下这部分的笔记. 1. final关键字 在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记...

    面向对象和抽象类和接口的理解

    面向对象和抽象类和接口的理解 面向对象和抽象类和接口的理解 面向对象和抽象类和接口的理解

    面向对象程序设计与实践-Java抽象类和接口[33页].pptx

    面向对象程序设计与实践 第五章 Java抽象类和接口 面向对象程序设计与实践课程组 面向对象程序设计与实践-Java抽象类和接口[33页]全文共33页,当前为第1页。 教学目标 教学方式 重点知识 学习目标 1.熟悉抽象类的...

    Java基础笔记知识点.rar

    JavaSE 之前整理的笔记,一共16章:1.Java概述,2....面向对象4(抽象类 接口 包装类),8.GUI编程--awt,9.GUI编程--计算器案例,10.GUI编程--Swing,11.集合,12.多线程,13.IO流,14.网络编程,15.JDBC编程,16.异常处理

    Java 接口.pdf Java面向对象设计 - Java接口 什么是接口? Java中的接口定义了一个引用类型来创建抽象概念

    Java面向对象设计 - Java接口 什么是接口? Java中的接口定义了一个引用类型来创建抽象概念。接口由类实现以提供概念的实现。 在Java 8之前,一个接口只能包含抽象方法。 Java 8允许接口具有实现的静态和默认方法。...

    面向对象与Java实现(抽象类、接口

    面向对象与Java实现(抽象类、接口

    java学习笔记 初学者必读

    6.1. 面向对象与面向过程 6-11 6.2. 对象的概念 6-12 6.3. 成员变量和局部变量 6-12 6.4. 成员方法 6-12 6.5. This关键字 6-13 6.6. 访问控制符 6-13 6.7. 构造方法 6-13 6.8. 数据和方法的隐藏―――封装 6-14 6.9....

    corejavaNoteBook

    6.1. 面向对象与面向过程 6-11 6.2. 对象的概念 6-12 6.3. 成员变量和局部变量 6-12 6.4. 成员方法 6-12 6.5. This关键字 6-13 6.6. 访问控制符 6-13 6.7. 构造方法 6-13 6.8. 数据和方法的隐藏―――封装 6-14 6.9....

    JAVA 面向对象程序设计第4章 抽象类和接口.pptx

    第4章 抽象类与接口;回顾;本章内容;4.1 抽象类;4.1 抽象类;4.1.1 抽象方法和抽象类;4.1.1 抽象方法和抽象类;4.1.1 抽象方法和抽象类;4.1.1 抽象方法和抽象类;4.1.1 抽象方法和抽象类;4.1.1 抽象方法和抽象类;4.1.2 ...

    详细解析Java中抽象类和接口的区别

    抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...

    (全)传智播客PHP就业班视频完整课程

    面向对象编程三大特性⑤ 抽象类 9-9 4.接口 9-9 5.继承与实现比较 final const 9-9 6.面向对象编程综合练习 10-10 1 课程回顾 10-10 2 正则表达式 10-10 3 正则表达式 子表达式 引用 反向捕获 10-10 4 正则表达式 元...

    大工15年春《Java-程序设计》在线作业三100分答案.docx

    大工 15 春《Java 程序设计》在线作业 3 单选题 判断题 一、单选题(共 10 道试题,共 50 分。 ) 1. 下列协议中不属于应用层协议的是( ) 。... Reader 类和 Writer 类是字符输入/输出流的非抽象类。 A

    Java-Java面向对象抽象类和接口实现教程

    Java 面向对象抽象类和接口实现教程 资源为视频教程资源 希望对你的 Java 学习有所帮助。

    《java面向对象程序设计-继承和多态》教案.doc

    第四章 面向对象的概念和 Java 实现-2 回顾 类是具有相同属性和行为的一组对象的 集合 , 对象是类的实例 封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节 类可用Class 来定义,类的变量和方法可被该类的...

    接口和抽象类的区别(面向对象)

    接口与抽象类的区别 抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。 动物类要有呼吸方法。怎么呼吸就是子类的事了。 现在有很多讨论和建议提倡用interface代替abstract类,两者从...

    抽象类和接口的区别

    在Java中,可以通过两种形式来体现OOP(Object Oriented Programming,OOP,面向对象程序设计)的抽象:接口和抽象类。 这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换...

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    Java面向对象课抽象类和接口PPT教案学习.pptx

    Java面向对象课抽象类和接口PPT教案学习.pptx

    教学视频-抽象类&接口

    1.抽象类&接口的教学视频。 2.提供在线支持和教学源码 3.新手训练面向对象思维的视频

Global site tag (gtag.js) - Google Analytics