美文网首页
JAVA与C++的差异(2)

JAVA与C++的差异(2)

作者: Yzlong | 来源:发表于2017-03-26 20:22 被阅读0次

<center>JAVA与C++的差异(2)</center>

JAVA的面向对象


类的所有方法,均为虚方法(虚函数)

关键字 作用
instanceof 检查当前类是否属于某个类的派生类,返回值BOOL类型
extends 继承关键字,声明当前类继承于什么基类
interface 声明接口类, 无需实现代码,仅为声明接口,表明此类至少有一个纯虚方法,无法拥有非StaticFinal之外的字段 ,接口方法默认为公有
implements 基类为接口类, 实现基类的纯虚方法
final 相当于C++的Const
Abstraction 抽象类, 无法被实例的类, 一个纯虚基类, 派生类继承,必须实现基类的方法或继续声明为抽象的方法

继承同C++, 关键字变为extends
不支持多重继承,但是提供多重继承功能, 可以实现多个基类的方法(即多重继承)

方法重写规则

即C++的派生类对基类的虚函数覆盖
派生类中同名,同参,同返回值,基类中属性为publicprotect等可继承的虚函数

• 重写方法的参数列表应该与原方法完全相同。
• 返回值类型应该和原方法的返回值类型一样或者是它在父类定义时的子类型。
• 重写函数访问级别限制不能比原函数高。举个例子:如果父类方法声明为公有的,那么子类中的重写方法不能是私有的或是保护的。
• 只有被子类继承时,方法才能被重写。
方法定义为 final,将导致不能被重写。
一个方法被定义为 static,将使其不能被重写,但是可以重新声明。
• 一个方法不能被继承,那么也不能被重写。
• 和父类在一个包中的子类能够重写任何没有被声明为 private 和 final 的父类方法。
• 和父类不在同一个包中的子类只能重写 non-final 方法或被声明为 public 或 protected 的方法。
• 一个重写方法能够抛出任何运行时异常,不管被重写方法是否抛出异常。然而重写方法不应该抛出比被重写方法声明的更新更广泛的已检查异常。重写方法能够抛出比被重写方法更窄或更少的异常。

由于JAVA 无法使用C++的 ::作用域符, 所以提供了一个super的关键字,以供派生类调用基类的方法


多态

多态同C++, 派生类指针转基类指针调用虚函数, 由于JAVA没有指针,则为引用赋值


接口

(类无法多重继承)接口类可继承多个接口:

public interface Hockey extends Sports, Event


JAVA包

JAVA包名同C++命名空间的作用
包名一般为小写,避免与类的方法重名

包的导入用 import关键字

  • 可以使用 import 关键字和通配符(*)来导入。例如:

import packName.*;

  • 可以使用 import 关键字来导入类本身。例如:

import packName.ClassName;

注: 一个类的文件可以包含任意数量的导入语句。这些导入语句必须位于包声明语句之后和类的定义语句之前。

相关文章

  • Java与C++的差异(基础)

    Java与C++的差异(基础)
    JAVA基础 C++的成员方法(函数) 在JAV...

  • JAVA与C++的差异(2)

    JAVA与C++的差异(2)
    JAVA的面向对象 类的所有方法,均为虚方法(虚函...

  • Java与C++关于构造函数的差异

    case1 Java: C++: C++输出为: Java输出为: 这个例子体现了C++在Java的细节差异: J...

  • NDK - JNI java类型转C++

    1、Java String 转 C++ String 2、 java 浮点型数组 转 C++ 浮点型数组 3、 ...

  • Java代码是如何运行的?

    问题一:Java与C++区别 1.Java需要运行时环境,包括Java虚拟机以及Java核心类库等。 2.C++无...

  • 1-Java的认识扫盲

    前言 Java与C++相关,Java的大量特性是从C/C++继承过来的。最初Java被称为Oak,1995年被命名...

  • C/C++与Java之间的互相调用

    利用JNI技术,可以做到C/C++与Java之间的相互调用。 1、Java调用C/C++接口 一般把C/C++写成...

  • JNI开发基础

    JNI与NDK Java和C/C++互相通过的接口,是Java语言提供的Java和C/C++相互沟通的机制,目的通...

  • Android studio开发jni

    1、下载NDK 2、新建一个类,声明native方法。 这个类是java与c/c++交互的中介,方法由java声明...

  • Java与C语言的联系与区别

    相同的地方: 1、语法类似:由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似2、编程的熟...

网友评论

      本文标题:JAVA与C++的差异(2)

      本文链接:https://www.haomeiwen.com/subject/mygkottx.html