`
xiaolongRen_will
  • 浏览: 28069 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

题010_abstract抽象类的种种

阅读更多

abstractmethod是否可同时是static,是否可同时是native,是否可同时是synchronized?

 

abstractmethod 不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系!

native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。例如,FileOutputSteam类要硬件打交道,底层的实现用的是操作系统相关的api实现,例如,在windowsc语言实现的,所以,查看jdk 的源代码,可以发现FileOutputStreamopen方法的定义如下:

private native void open(String name) throws FileNotFoundException;

如果我们要用java调用别人写的c语言函数,我们是无法直接调用的,我们需要按照java的要求写一个c语言的函数,又我们的这个c语言函数去调用别人的c语言函数。由于我们的c语言函数是按java的要求来写的,我们这个c语言函数就可以与java对接上,java那边的对接方式就是定义出与我们这个c函数相对应的方法,java中对应的方法不需要写具体的代码,但需要在前面声明native

关于synchronizedabstract合用的问题,我觉得也不行,因为在我几年的学习和开发中,从来没见到过这种情况,并且我觉得synchronized应该是作用在一个具体的方法上才有意义。而且,方法上的synchronized同步所使用的同步锁对象是this,而抽象方法上无法确定this是什么。 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    class_abstract.rar_abstract c#_abstract C#_abstract c# 用途_c# 抽象

    在C#编程语言中,"抽象"(Abstract)是一个核心概念,主要应用于类和方法,以支持面向对象编程中的多态性。本篇文章将详细探讨C#中的抽象类及其相关特性,帮助您深入理解并有效地运用这个关键概念。 首先,我们要...

    Java_abstract_example.rar_abstract class_抽象

    在Java编程语言中,抽象类(abstract class)是面向对象编程的一个重要概念,它为其他类提供了一个模板设计。这个压缩包"Java_abstract_example.rar"包含了一个关于抽象类的实例,名为"AbstractTest.java",这非常...

    Abstract_Factory抽象工厂

    Abstract_Factory抽象工厂Abstract_Factory抽象工厂Abstract_Factory抽象工厂Abstract_Factory抽象工厂

    abstract抽象类

    在Java编程语言中,`abstract`关键字用于定义抽象类(abstract class),这是一个非常重要的概念,它为多态性提供了基础。抽象类是不能被实例化的,它们的主要目的是作为其他类的基类,提供一个公共的接口或者部分...

    C__抽象类与抽象方法

    ### C# 抽象类与抽象方法详解 #### 一、引言 在面向对象编程中,抽象类和抽象方法是实现多态性的重要手段之一。C#作为一种强大的面向对象编程语言,支持抽象类和抽象方法的概念。本文将详细介绍C#中的抽象类与抽象...

    abstract抽象类--Eclipse

    在Java编程语言中,"abstract"关键字用于定义抽象类,这是一种特殊的类,它不提供具体的实现,而是作为其他类的模板或蓝图。Eclipse是一款强大的集成开发环境(IDE),广泛用于编写Java应用和其他编程语言的代码。在...

    表面积和体积_抽象类Shape_shape类继承_

    在这个系统中,"表面积和体积_抽象类Shape_shape类继承_"这个主题涉及到的是OOP中的一个重要概念——抽象类和类的继承。 首先,让我们来理解抽象类(Abstract Class)。抽象类是一种特殊的类,它不能被实例化,主要...

    抽象精品ppt模板water_tower_abstract217

    抽象精品ppt模板water_tower_abstract217

    Abstract抽象类用作模板的事例

    本资源是抽象类在实际应用中的一个例子,列举了学生写作文的例子进行详细的说明!

    PyPI 官网下载 | jcm_django_abstract-0.1.3-py3-none-any.whl

    `jcm_django_abstract`可能是一个为Django框架提供抽象基类或实用工具的库。 描述中的信息表明,这个资源是从PyPI官方获取的,且它是一个`.whl`文件。`.whl`文件是Python的二进制分发格式,它允许用户在没有编译...

    抽象精品ppt模板melancholy_abstract127

    抽象精品ppt模板melancholy_abstract127

    抽象精品ppt模板winter_abstract219

    抽象精品ppt模板winter_abstract219

    抽象精品ppt模板evergreen_abstract114

    抽象精品ppt模板evergreen_abstract114

    water_tower_abstract

    water_tower_abstract

    RemObjects_Data_Abstract_for_NET_6.0.39.777_Cracked

    RemObjects_Data_Abstract_for_NET_6.0.39.777_Cracked.rar

    C#中abstract继承抽象类

    在C#编程语言中,`abstract`关键字是用来定义抽象类和抽象方法的,这是一种面向对象编程的概念。本文将深入探讨C#中`abstract`关键字的使用、抽象类的特性以及如何继承抽象类。 首先,我们需要了解什么是抽象类。...

    RemObjects_Data_Abstract_for_Delphi_9.2.101.1295.rar

    RemObjects Data Abstract for Delphi是一款强大的数据抽象框架,专为Delphi开发者设计,旨在简化数据库应用程序的开发。这个压缩包“RemObjects_Data_Abstract_for_Delphi_9.2.101.1295.rar”包含了该框架的最新...

    Java继承_抽象类与接口的应用.

    1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结

Global site tag (gtag.js) - Google Analytics