`
实学实战
  • 浏览: 15657 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

java— 抽象类、接口、final、的理解和例子

 
阅读更多

抽象类、接口、final、的理解和例子


1.抽象类【abstract】

1.1理解:

使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成 abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。此外,该方法必须对子类可见,因此要加只能加public 或者 protected! 抽象类不能被实例化(也就是不能new对象)。

1.2声明:

对父类进行抽象化、与父类的方法一样。

抽象类必须被继承、才能被使用。

抽象方法的作用是:用来被重载的方法。

1.3定义例子:

publicabstract class Func{

public abstract float fun ();

}



2. 接 口【interface】

1.1概念:

抽象类的延伸、纯粹的特殊抽象类、是由全部的全局常量和抽象方法所组成的。接口的实现必须通过子类,使用关键字 implements实现一个或多个接口,子类也可以先继承后接口 。

1.2例子:

publicextends interface Inter1, Inter2{

public static final int ABC = 100;

public abstract void fun();

}


3.接口抽象区别:

Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。

一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。

不难看出,Java接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。


4,。final 关键字

4.1理解:

final是java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量。如果一个类的域被关键字final所修饰,它的取值在程序的整个执行过程中将不会改变。假如说整个类都是final,就表明自己不希望从这个类继承,或者不答应其他任何人采取这种操作。

4.2例子:

public static final int ABC = 100;



分享到:
评论

相关推荐

    java中的抽象类和接口的理解

    ### Java中的抽象类和接口的理解 #### 一、引言 在面向对象编程语言Java中,抽象类(Abstract Class)和接口(Interface)是实现多态性和代码复用的重要手段。它们都允许开发者定义行为规范而不需要具体实现细节,...

    java抽象类与接口区别

    本文将深入探讨Java抽象类与接口的区别,帮助初学者更深刻地理解这两个概念。 #### 二、理解抽象类与接口的基本概念 ##### 抽象类 - **定义**:抽象类是一种特殊的类,它不能被实例化。抽象类通常包含一个或多个...

    java 抽象类及接口

    在Java编程语言中,抽象类和接口是面向对象设计的重要组成部分,它们允许程序员定义通用的类型和行为,以便在各种具体实现中复用和扩展。下面我们将深入探讨这两个概念。 首先,抽象类是一种特殊的类,它使用`...

    JAVA中抽象类与接口的区别

    在Java编程中,抽象类(abstract class)和接口(interface)是实现抽象和多态性的两种关键机制。它们虽然在用途上有所重叠,但设计理念和使用场景却有着明显的差异。 首先,抽象类是一个不能被实例化的类,它通常...

    JAVA全套简明教程ch抽象类和接口PPT教案学习.pptx

    Java编程语言中,抽象类和接口是两种重要的概念,它们都是用于实现多态性和封装的机制,但有着不同的设计哲学和使用场景。 首先,我们来理解抽象类(abstract class)。抽象类是一种不能被实例化的类,它可能包含一...

    JAVA抽象类

    通过运行这些示例,你可以更直观地理解抽象类在实际编程中的作用和用法。 总之,Java中的抽象类是面向对象设计的重要概念,它允许我们定义通用的行为模板,让子类根据需要进行扩展和实现。学习和掌握抽象类的使用...

    Java程序设计课件:第五章 抽象类和接口.ppt

    在Java编程语言中,抽象类和接口是面向对象设计中的两个关键概念,它们允许程序员创建灵活、可扩展的代码结构。下面将详细解释这两个概念及其重要性。 首先,抽象类是一种特殊的类,它不能被实例化,但可以作为其他...

    关于抽象类和接口的两篇不错文章

    ### 关于抽象类和接口的两篇不错文章 #### 一、理解抽象类与接口的基础概念 在面向对象编程中,抽象类与接口是两个重要的概念,它们在Java语言中有着特殊的实现方式。抽象类(Abstract Class)和接口(Interface)...

    创建Java中的抽象类.docx

    1. **无法创建抽象类的实例**:这是Java抽象类的一个关键特性。由于它们通常作为其他类的基础结构,因此不能直接创建抽象类的实例。但是,可以通过创建抽象类的子类实例来间接使用抽象类的特性。 2. **允许构造函数...

    java编程基础的例子

    在Java编程世界中,基础知识是构建复杂应用的基石。接口和抽象类是面向对象编程中...这些例子将帮助理解如何有效地利用抽象类和接口来设计可扩展和模块化的软件,以及如何使用final关键字来保证代码的稳定性和安全性。

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

    抽象类和接口是面向对象编程中实现多态性的两种关键机制,尤其在Java这样的语言中扮演着核心角色。它们允许开发者定义行为规范,而不指定具体的实现细节,从而促进代码的复用性和可扩展性。 ### 抽象类 抽象类是一...

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

    在Java中,接口是一种特殊的抽象类,它用于定义一组行为规范。这些规范通过方法签名来表示,而这些方法的具体实现则由实现该接口的类来完成。接口的主要目的是提高程序的灵活性、可扩展性和复用性。通过接口,开发者...

    博客资源-《java基础——接口》

    在本文中,我们将深入探讨Java接口的基础知识,包括接口的定义、使用、接口与抽象类的区别以及接口中的默认方法等核心知识点。 首先,接口在Java中是一个完全抽象的类型,它只包含常量定义和抽象方法声明,不包含...

    javaoop基础和应用

    总结,抽象类和final类在Java中扮演着重要的角色,抽象类用于定义基类和接口,提供子类继承和多态性的基础;final类则用来防止类被继承,确保代码的封闭性。理解并恰当运用这两个特性,可以有效提升Java程序的设计...

    Java 接口 内部类

    Java接口和内部类是Java语言中两种重要的抽象机制,它们在软件设计中起着关键作用。接口主要用于定义对象之间的交互规范,而内部类则提供了一种封装和隐藏类的机制,使得类的设计更加灵活。 首先,接口是一个合约,...

    JAVA接口非常详细的教程

    接口与类和抽象类的不同之处在于,它只是对要实现接口的所有类提出了协议(protocol),这些协议是类和接口的通讯和对话管道,以静态常量和方法签名的形式,使不同的类之间建立起一个共享体制。 接口的特点是: * ...

    JAVA抽象类及接口使用方法解析

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计工具,它们允许开发者定义行为和属性的模板,而无需具体实现所有细节。抽象类和接口各有特点,但都为多态性和代码重用提供了支持。 **抽象类(Abstract ...

    JAVA 接口用法 PPT

    接口与抽象类相似,都用于定义类的公共属性,但是接口更偏向于一种“纯”抽象,它只包含方法签名(方法名、参数列表和返回类型),而不包含方法的实现。这种特性使得接口成为Java中实现多继承的关键手段,避免了C++...

    java里关于接口的教学视频

    同时,理解接口与抽象类的区别,以及在不同场景下选择使用哪种方式,也是视频中的重要内容。 总的来说,这个教学视频将帮助初学者全面掌握Java接口的概念,学会如何在实际项目中有效地利用接口进行设计,提高代码...

Global site tag (gtag.js) - Google Analytics