标签: instance

printf,说,getName setName

我刚刚看了一个名为“许多方法和实例”的 youtube 教程。他做了一个程序,你输入一些东西,上面写着“你的第一个女朋友是_ ”。但这太复杂了。首先是主类:

import java.util.Scanner;

public class MethodsInstances2 {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        MethodsInstances object = new MethodsInstances();
        System.out.println("Enter name of first gf here: ");
        String temp = input.nextLine();
        object.setName(temp);
        object.saying();
    }
}
Run Code Online (Sandbox Code Playgroud)

接下来是它创建对象的类:

public class MethodsInstances {
    private String girlName;
    public void setName (String name){
        girlName=name;
    }
    public String getName (){
        return girlName;
    }
    public void saying(){
        System.out.printf("Your first gf was %s", getName());
    }
}
Run Code Online (Sandbox Code Playgroud)

考虑到我仍然是 Java 的新手,这似乎太复杂了,标题是我不明白的所有内容。这是我输入的速度提高了 4 倍的内容: …

java methods printf instance

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

PHP获取类实例的变量名?

我是 PHP 新手,所以这个问题似乎很愚蠢,但假设我将变量 ABC 赋值为 XYZ 类的新对象,那么我怎么能在 XYZ 的类定义中获得名称“ABC”?

$ABC = new XYZ;
$ABC->echoInstanceName(); //--I wish this line could echo out : ABC
Run Code Online (Sandbox Code Playgroud)

当实例分配给数组的元素时,这是否更容易?

$ABC = array('myElem'=>new XYZ);
$ABC['myElem']->echoInstanceName(); //--I wish this line could echo out : ABC
Run Code Online (Sandbox Code Playgroud)

所有建议表示赞赏!


更多信息:我正在做一些事情:建立一个动物系统。

从类 nativeAnimal 开始,扩展到猴子、大象、鱼...等。在运行时,我创建了一个 2 层数组,其中每个数组的元素都是 Monkey、Elephant 或 Fish 类型的实例......

我想要数组的键是动物的名字。在 Monkey 类中,我想要一个函数来回显 Monkey 的名字。当然,我可以以某种方式将数组的键传递给实例,但我想避免输入两次。(当我只更改一个名称时,这可能会导致错误)

这是不可能的吗?或者你能建议一个更好的模式吗?谢谢 !

php class instance

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

django:获取具有动态变量名称和值的模型实例

我有以下错误:Cannot resolve keyword 'attrName1' into field. Choices are: codesectrepmodel, configCons, id。我的代码:

modelName1="ConfigConsModel"
model1 = get_model('actsInformationRetrieval', modelName1)
print "model attr", model1._meta.get_all_field_names() #displays ['codesectrepmodel', 'configCons', 'id']
print "attrName1", attrName1 #displays configCons
print "attr1", attr1 #displays ECOFIN
attr1Instance=model1.objects.get(attrName1=attr1)
Run Code Online (Sandbox Code Playgroud)

怎么了?我认为问题在于get_model返回模型类,而不是对象。对?

python model get instance

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

Java - 如何从用户输入创建类实例

我希望这个程序要求用户输入,并创建一个名称等于用户输入的类实例。然后,createMember 类将创建一个文本文件,该文件将存储用户的所有数据。我该怎么做?

下面是主要方法:

     public static void main(String[] args) {

         String input = keyboard.nextLine();        
         input = new createMember(); // Error. can't do that for some reason?
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 createMember 类

public class createMember {

public void setMembership() {
    Scanner keyboard = new Scanner(System.in);
    out.println("Username: ");
    String input = keyboard.nextLine();

    try { 
        //Creates a text file with the same name as the username where data is stored.
        Formatter x = new Formatter(input);       
    } catch (Exception e) {
        out.println("Could not create username"); …
Run Code Online (Sandbox Code Playgroud)

java class instance java.util.scanner

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

C# 删除类的实例?

我是 C# 的新手,我有一个关于类实例的快速问题。有人告诉我,在类的实例上仅使用“null”不足以删除整个实例及其所有资源,例如指针等。所以我有: ClassHere myClass = new ClassHere()和myClass = null

我真的必须考虑这个太难了......我将举一个例子来弄清楚GC是如何工作的。

假设我们有 3 个实例:x1、x2、x3。每个实例都将映射到一个变量:ClassHere myClass = new ClassHere()除非您拥有 x1、x2 和 x3 而不是 myClass。

然后说实例 x2 和 x3 对 x1 进行某种引用。假设 x1 在被 x2 和 x3 引用后什么也不做。GC 只会在 x2 之后拾取 x1,而 x3 对 x1 的引用将被删除,对吗?

如果它即使使用这些引用也能找到它。GC 如何知道我是否真的需要 x2 和 x3 引用的实例 x1 而不是删除它?

还是我在这里遗漏了什么?

c# class instance

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

可以在类的底部声明实例变量吗?

当我看到“实例变量可以在使用之前或之后在类级别声明”时,我有一个问题。在网站java_variable_types

我不明白这个sequense是什么级别和含义。

java variables instance

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

JUnit Assert#assertSame 等效于 Hamcrest

JUnit 的 hamcrest 库中是否有等价物Assert#assertSame?如果是,那是什么?目前我只能想到Hamcrest#sameInstance但我不太确定这种方法是否适合使用。

java junit unit-testing instance hamcrest

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

有没有办法重新定义/禁用 self.new?

我试图找出一种方法来安全地释放类获得的资源。我尝试使用finalize,但它不可靠。有时我在 GC 有机会释放资源之前关闭我的程序。

所以我决定在这样的块中使用类实例:

class Foo

  def destroy # free resources
      #...
  end

  #...

  def self.create(*args)
      instance = self.new(*args)
      begin
        yield instance
      ensure
        instance.destroy
      end
end

Foo.create do |foo|
  # use foo
end
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我仍然可以使用new我必须destroy明确创建的实例。我试图自己写,new但似乎默认情况下它只是超载了new。

有没有办法重新定义\禁用new?

resources instance crystal-lang

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

为什么我不能在 GCP 中使用主机名通过 ssh 进入实例?

我有一个名为 的实例welynxcore,我通过控制台 SSH 进入它没有问题。

在此处输入图片说明

我打开了 Cloud Shell 命令行,看看我是否可以从那里 ssh:

在此处输入图片说明

所以它不允许我这样做的错误:

ssh:无法解析主机名 welynxcore:名称或服务未知

我在这里缺少什么?是否允许在 Cloud Shell 中进行 ssh?以下是实例列表:

在此处输入图片说明

当我打开 Cloud Shell 时,我在哪个实例上?

xenonxie@cloudshell:~ (rock-perception-263016)$ hostname
cs-6000-devshell-vm-8e59d29e-e820-4b08-aea1-b04d4a597711
Run Code Online (Sandbox Code Playgroud)

cs-6000-devshell-vm-8e59d29e-e820-4b08-aea1-b04d4a597711指的是哪个实例?

提前感谢您的启发。

[更新]

从 VM 实例中,我看到该实例被授予了一个公共 ip 地址:34.67.190.134,在没有对默认安全设置进行任何更改的情况下,我尝试使用 Cloud Shell 通过 SSH 连接到它并收到以下消息:

xenonxie@cloudshell:~ (rock-perception-263016)$ ssh 34.67.190.134
Run Code Online (Sandbox Code Playgroud)

无法确定主机“34.67.190.134 (34.67.190.134)”的真实性。ECDSA 密钥指纹是 SHA256:mVzPEGPrWIuEXcojJTgwpinWO4eB2RwupWVA/Ix7Ko4。您确定要继续连接吗(是/否)?是 警告:将“34.67.190.134”(ECDSA)永久添加到已知主机列表中。权限被拒绝(公钥)。

似乎我需要将实例的公钥存储在分配给我的 GCP 帐户的“免费”默认虚拟机实例上?我对吗?公钥文件在哪里,是否有一种简单的方法来传输/导入该密钥?

非常感谢。

ssh instance google-cloud-platform

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

用于唯一对象实例的 Java Map?

我使用的库包含某种对象类型LackingObject(某种类型),它缺少类型Ext(某种类型)的属性。如果我能够更改LackingObject类,我只需添加一个 type 属性Ext,但LackingObject不能更改,也不能扩展。我现在在语言中所做的C或者C++是创建一个Map映射LackingObjects到 的语言Exts,在 Java 中,它会(有点等效)看起来

Map<LackingObject, Ext> object_extension = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

所以每当我LackingObject第一次在我的代码中遇到 a时,我可以调用

LackingObject o = ...;
Ext value = compute_value_for(o, ...);
object_extension.put(o, value);
Run Code Online (Sandbox Code Playgroud)

然后,为了回忆那个添加的属性,我会打电话

Ext resolved = object_extension.get(o);
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用,因为默认HashMap行为是将Object::hashCode, not的结果映射Objects到值,所以如果我有两个(除了Ext值)equal LackingObjects,它们不能都是java.util.HashMap.

问题:在 Java 中,是否至少存在以下一项:

  • 一种让标准库将对象实例映射到值的方法?

  • 一种接收对象实例的唯一标识符的方法?

我发现一个 7 年前的帖子与这个主题有些相关,但我希望这些年来情况有所改变。

最后的方法是创建一个包装类,

class Wrapper{
    LackingObject o; …
Run Code Online (Sandbox Code Playgroud)

java reference hashmap instance

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