c++:
class A
{
public :
int a;
int b;
A(int a,int b):a(a),b(b){}
void change(A& b)
{
int temp = b.a;
b.a = b.b;
b.b = temp;
}
};
A * a = new A(2,4);
(*a).change(*a);
A * const ab= new A(2,4);//ab 指针变量不可以变,但是ab指向的内容是可以修改的
(*ab).change(*ab); //可以修改变量指向的对象的内容
//ab = a; // 不能修改const修饰的变量
java:
class A{
public int a;
public int b;
public A(int a,int b){
this.a =a;
this.b = b;
}
public void change(A a){
int temp = a.a;
a.a = a.b;
a.b = temp;
}
}
A b = new A(4,2);
b.change(b);
final A a = new A( 1,2); //这里final修饰的是变量 a不可以变,但是a只想的对象是可以修改
a.change(a);//可以修改变量指向的对象的内容
//a =b ; // 不能修改final修饰的变量
1.两中语言对比不难看出,java中使用的变量,其实C++就是*p(p是指针变量)
2.使用对象作为参数传递的时候,java只取了C++的的引用传递,即使可以直接修改传递对象的内容
3.final修饰只取了C++ const修饰的变量不可以的原则
分享到:
相关推荐
然而,需要注意的是,由于C++和Java的语法和语义差异,直接的转换可能会遇到挑战,比如C++的模板、指针、运算符重载在Java中没有直接对应的概念,因此可能需要手动调整转换后的代码。 描述中的重复信息进一步强调了...
本示例“Demo:使用java语言与c++语言通信”探讨的是如何让Java和C++这两种不同的编程语言之间进行有效的数据交换和功能调用。下面将详细阐述这个主题。 首先,Java和C++之间的通信主要依赖于Java的本地接口(Java ...
标题中的"C++转Java工具"指的是一个程序,它能够帮助开发者将C++编写的代码转换为Java语言。这种工具在跨平台开发或者需要利用Java特性,但已有大量C++代码库的情况下尤其有用。JNI(Java Native Interface)是Java...
在本文中,我们将深入探讨如何在Android JNI中实现C++层与Java层的对象交互,特别是在NDK开发环境下。 首先,让我们了解JNI的基本概念。JNI是一个接口,它允许Java应用程序调用本地(非Java)代码,同时也允许本地...
《C++到Java转换器:理解跨语言编程的挑战与实践》 在计算机科学领域,跨语言编程是一项关键技能,特别是在需要利用不同编程语言的优势时。C++和Java是两种广泛应用且具有各自特点的编程语言。C++以其高效、灵活和...
C、C++和Java是三种支持面向对象编程的编程语言,尽管它们在实现OOP的理念上有所不同。 首先,让我们来看看C++。C++是在C语言的基础上添加了面向对象的特性。C++的类(Class)是实现面向对象的核心,它定义了一组...
**Java与C++互通的关键点**: 1. **数据格式一致性**:确保在Java和C++中使用的加密库生成的加密结果是一致的。这可能需要对输入数据和密钥进行相同的预处理。 2. **密钥管理**:密钥必须在两个环境中安全地共享。这...
在Android开发中,JNI(Java Native Interface)是一个关键的技术,它允许Java代码和其他语言写的代码进行交互。JNI在很多场景下都非常有用,比如性能优化、调用系统底层库或者访问硬件资源等。本主题主要关注如何...
在Java程序中调用用C++语言编写的本地方法,是通过Java本地接口(JNI)实现的,JNI是Java提供的一套标准编程接口,用于Java代码和本地应用程序或库之间的交互。本地库通常是用C或C++编写的动态链接库(在Windows上是...
标签中的“c c++”指的是C和C++语言,它们提供了与JNI交互的基础。C++具有面向对象的特性,可以方便地封装复杂的数据结构和算法,而C语言则更加底层,适用于系统级编程和内存管理。 “java”是指Java语言,它提供了...
C#是一种微软开发的面向对象的语言,它与Java有许多相似之处,但也有一些不同。例如,C#有属性(properties),而Java使用getter和setter方法;C#有接口(interfaces)和抽象类(abstract classes),Java只有接口。...
Java的`int`对应C++的`int`,`float`对应`float`,但字符串处理需特别注意。Java字符串是Unicode编码的,而C++的`char*`默认处理的是ASCII。因此,传输字符串时可能需要先将其转换为统一的编码格式,如UTF-8,然后再...
本书"数据结构算法与应用 C++和Java语言描述 含代码 Sahni 一二版中英合集"深入探讨了这些核心概念,提供了两种广泛使用的编程语言——C++和Java的实现。作者Sahni以其清晰的解释和丰富的实例,帮助读者深入理解数据...
在IT领域,跨语言通信是常见的需求之一,而C++与Java之间的交互就涉及到了Java Native Interface (JNI)。本文将深入探讨如何使用C++创建Java虚拟机(JVM),并通过JNI来调用Java函数。这是一项技术性很强的任务,...
Java语言概述 Java是一种广泛使用的高级编程语言,以其面向对象的特性著称,由Sun Microsystems公司的James Gosling在1991年发起的Green项目中孕育而生。起初,Java被设计用于家用电器的控制和通信,起初命名为Oak...
在跨平台的软件开发中,有时需要Java程序与C++程序进行通信,以便实现特定功能或数据共享。本文将探讨如何使用内存映射文件(Memory Mapped Files)和Java Native Interface(JNI)来解决这个问题。这种方法高效且...
这个完整工程展示了如何在Android应用中使用JNI,实现C++与Java之间的双向调用。这种技术在需要高效计算、利用硬件加速或者复用已有的C/C++库时非常有用。 1. **JNI基础知识**: - JNI接口提供了Java虚拟机(JVM)...
"面向对象与Java.ppt"可能是一份PPT演示文稿,详细介绍了面向对象编程的理念,以及如何在Java语言中实现这些理念。PPT可能包含了丰富的图表、实例代码和解释,帮助学习者直观理解面向对象编程的关键点,例如类的定义...
3. **生成头文件**:使用`javah`工具(在Java SDK中)对包含本地方法的Java类生成对应的C/C++头文件。这个头文件包含了JNI函数原型和Java对象的类型定义。 4. **编写C/C++代码**:基于生成的头文件,编写C/C++代码...