「java图像指针」JAVA空指针异常

博主:adminadmin 2023-01-10 17:03:12 1135

今天给各位分享java图像指针的知识,其中也会对JAVA空指针异常进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中有没有指针

首先,指针用于指向某一块内存的地址,在C、C++中有明确的指针的概念,而在Java中,同样会有指向某一块内存地址的存在,但是不叫指针,在Java中称之为 引用(reference),你可以理解为智能指针。可以这么说Java其实处处皆为指针,但是我们开发人员却感觉不到而已。

java中到底有没有指针

学过c/c++,然后学Java的人往往心中有此纠结,java中到底有没有指针?

如果一定要在是或否里选择一个,OK,java中没有指针。

那么,java中的引用(reference)和c/c++中的指针(如无特别说明,后文指针均指c/c++中的指针)究竟有着什么样纠葛不清的关系呢?

在开始之前先说一下c/c++的引用,它跟java的引用完全不是一个东西,c/c++的引用是同一块内存的不同名字。而java的引用是指向一个对象,引用本身也占用了内存。

首先,列举一下能对指针进行的一些常见操作:

1、指向一个对象,如 Person *p = new Person….;int *iv = new int….

2、对指针所指的对象进行操作:P-getAge(); (*p).getAge();

3、获取存储在指针中的地址值。

4、将指针指向另外一个对象:Person *p1 = new Person…; p = p1; 但,不可以*p = p1这样来赋值。

5、删除new的空间,delete p1;

6、其它诸多操作

这么多已经足够了,接下来看看java引用能做什么操作。

a、指向一个对象,如Person p = new Person…

b、调用对象的方法,p.getAge();

c、指向另外一个对象,Person p1 = new Person…; p = p1;

OK,就这么多了。

对于a和1,他们的功能是类似的,但java引用无法指向一个基本变量。。

对于b,java引用和指针就不同了,在这点上,Java reference更像是解引用(dereference)了的指针;或者说java中的.操作符某种程度上等价于指针的-操作符,如果是这样种解释的话,我们无法再对java的reference解引用了。

对c和4,是类同的。

除此,我们无法获取java引用存的地址,我们不能delete,还有很多……

综上,窃以为java的引用可以看成是一个功能受限的指针(或者说被阉割的指针)。另一方面,功能如此受限,它还能叫指针吗?了解了指针和java引用的区别与联系,还需要纠结“java中有没有指针”这个问题吗!

JAVA中怎么处理指针参数

用JNI技术,就是把那个函数再经过Java JNI规范包裹一下,让Java可以调用包裹的函数。

比如:

/* C++ */ void foo(void* address) { printf("%ld", address); }

要调用这样的函数

/* C++ */ jobject com_test_Klass_foo(jobject arr) { foo(convertToVoidP(arr)); }

把这个函数编译成Windows DLL或者Linux so:

在Java里:

/* Java */ package com.test; class Klass { public native foo(ArrayList? arr); static {System.loadLibrary('dll/or/so/path');}}

Java类指针问题?

java中对象全部是指针模式的,也就是改了a的内容,所有读a内容的地方都会变动,不用重新put

关于java图像指针和JAVA空指针异常的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。