小编use*_*979的帖子

有没有办法将Java对象"减少"为继承的类?

所以这就是我在Java中注意到的:

如果我上课:

class IntStorage
{
    public int i;

    public void setInt(int i) { this.i = i; }
    public int getInt() { return i; }
}
Run Code Online (Sandbox Code Playgroud)

并继承它,并存储其他数据:

class IntAndStringStorage : IntStorage
{
    public String s;

    public void setString(String s) { this.s = s; }
    public String getString() { return s; }
}
Run Code Online (Sandbox Code Playgroud)

我这样做:

IntAndStringStorage IandSstorage = new IntAndStringStorage();
IandSstorage.setString("Test");
IntStorage Istorage = (IntStorage)IandSstorage;
IntAndStorageStorage test = (IntAndStorageStorage)Istorage;
System.out.println(test.getString());
Run Code Online (Sandbox Code Playgroud)

即使我将它转换为继承的类,它也完全有效.现在我假设信息仍然在对象内部,那么我可以完全将它转换为继承的类而不保留旧信息吗?我不想在我的int存储类中留下String存储.希望我的问题足够清楚!提前致谢!

java inheritance class

3
推荐指数
1
解决办法
234
查看次数

将星号放在名称前面的指针中是否是典型的编程习惯?

我已经做了一段时间了:

int* myIntPointer;
string* myString1,* myString2;
Run Code Online (Sandbox Code Playgroud)

但我注意到很多人这样做:

int *myIntPointer;
string  *myString1, *myString2;
Run Code Online (Sandbox Code Playgroud)

哪一个比较常见?或者至少是一个很好的编程实践.

c c++ types pointers

2
推荐指数
1
解决办法
259
查看次数

java.lang.UnsatisfiedLinkError - JNI

每次运行程序时,我都会收到java.lang.UnsatisfiedLinkError错误.我有一个本机,一个包装器,以及通过包装器调用本机的程序.

main.h

#ifndef __MAIN_H__
#define __MAIN_H__

#include <windows.h>
#ifdef BUILD_DLL
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT __declspec(dllimport)
#endif

#include<jni.h>
#include<iostream>

using namespace std;

extern "C"
{

JNIEXPORT void JNICALL native_MessageBox(string text, string title);

}

#endif
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include "main.h"

#include<windows.h>
#include<iostream>

using namespace std;

JNIEXPORT void JNICALL MsgBox(string text, string title)
{
    MessageBox(NULL, text.c_str(), title.c_str(), MB_OK);
}

extern "C" DLL_EXPORT BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
            break;

        case DLL_PROCESS_DETACH:
            break;

        case …
Run Code Online (Sandbox Code Playgroud)

java java-native-interface native mingw

2
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×2

c ×1

c++ ×1

class ×1

inheritance ×1

java-native-interface ×1

mingw ×1

native ×1

pointers ×1

types ×1