java中如何理解这种初始化类实例的方式,我只懂new的方式

问题描述

java中如何理解这种初始化类实例的方式,我只懂new的方式

java中public boolean setViewValue(Viewarg0,Object arg1){ImageView imageView =(ImageView)arg0
Bitmap bitmap=(Bitmap)arg1}如何理解这种初始化类实例的方式,我只懂new的方式

解决方案

这种构造方法是将 依赖的成员对象作为构造函数的参数传进入来的,而传人时还是需要new的啊。

解决方案二:

这没有什么别的,只是arg1的初始化放在了函数的外部。比如
Bitmap bmp = new Bitmap();
setViewValue(viewarg0, bmp);
这样在函数内看不到new而已。

解决方案三:

1、变量arg0在传入setViewValue()方法之前,实际上也执行了类的构造方法,在堆内存中new了一个对象(假设为X),arg0引用了X,arg0实际上在栈内存中。

2、当执行了下述代码后,并没有重新new一个新的对象,而是在栈内存中创建了一个imageView变量,它也指向X。

ImageView imageView =(ImageView)arg0;

3、所以,只创建了一个对象X,但是有两个变量引用X,两个变量都可以操作X,并且一个变量操作X后,会影响另一个变量的访问X的结果。

解决方案四:

可以这样理解:arg0和arg1对应的对象在这个方法外部被创建出来,然后它们两个被当作方法的参数传递到这个方法中。
然后在这个方法里,定义imageView ,将arg0赋值给它;定义了bitmap,将arg1赋值给它。(真实是,imageView指向arg0对应对象的堆内存,bitmap指向arg1对应对象的堆内存。imageView和arg0对应同一个对象,bitmap和arg1对应同一个对象。)

你所想要问的,有几种创建对象的方式:
Java中创建对象的四种方法 收藏Java中创建对象的四种方式
1.用new语句创建对象,这是最常见的创建对象的方法。
2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3.调用对象的clone()方法。
4.运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
第一种最常见

解决方案五:

这是将传入的参数转换一个,实际上外部调用了new了

解决方案六:

初始化类,就是创建一个类的对象,通过new,来调用类的默认的构造函数,来初始化类。

解决方案七:

此去只是设置值的方法。初始化实例一般是执行构造函数。set函数一般是自己创建来设置初值(或值)的

时间: 2024-10-03 22:57:07

java中如何理解这种初始化类实例的方式,我只懂new的方式的相关文章

如何理解java中 对象.this方法 还有 类.this.方法的 意义

问题描述 如何理解java中 对象.this方法 还有 类.this.方法的 意义 如何理解java中 对象.this方法 还有 类.this.方法的 意义 有没有这两种语法规则呢 解决方案 this.方法是在某个对象的实例方法内,this代表当前实例.一般情况下不用写,除非它和参数重名才需要: class A { int a; int b; public void seta(int a) { this.a = a; //因为参数a和成员变量a都叫a,所以需要区分. b = a; //相当于th

JAVA中对象创建和初始化过程

分析一下JAVA中对象创建和初始化过程中涉及的相关概念问题,java中栈(stack)与堆(heap),对象.引用.句柄的概念. 1.Java中的数据类型 Java中有3个数据类型: 基本数据类型(在Java中,boolean.byte.short.int.long.char.float.double这八种是基本数据类型) 引用类型 null类型 其中,引用类型包括类类型(含数组).接口类型. 下列语句声明了一些变量: 以下是引用片段: int k ; A a; //a是A数据类型的对象变量名.

关于java中加载和初始化的疑问?各位帮忙分析下

问题描述 关于java中加载和初始化的疑问?各位帮忙分析下 public class ExA { private static ExA a = new ExA(); static { System.out.println("父类--静态代码块"); } public ExA() { System.out.println("父类--构造函数"); } { System.out.println("父类--非静态代码块"); } public stat

java spring注入bean生成一个类实例,请问这个类实例是单体类吗?全局唯一吗。

问题描述 java spring注入bean生成一个类实例,请问这个类实例是单体类吗?全局唯一吗. 小弟刚从C++转JAVA不久,遇到这样一个问题,求高人帮忙解答. 我现在大体理解了注入的实现方式,例如在一个标注有@configuration 的类里面,如果一个方法 上面有@bean,那么这个方法的返回的类对象会被实例化. 我的疑问是这样的,这个实例化的对象是全局唯一的吗,或者说 是一个单体类吗? 因为我要在我的程序里不同地方使用调用这个bean的方法,我担心如果是单体类的话, 是否存在数据同步

java中this.对象 表示本类的对象,那this.方法 表示本类的方法吗

问题描述 java中this.对象 表示本类的对象,那this.方法 表示本类的方法吗 java中this.对象 表示本类的对象,那this.方法 表示本类的方法吗 解决方案 你的理解是正确的,可以指向本类方法,还有个SUPER,可以指向父类方法 解决方案二: this表示本类,调用方法是一般对象.方法,即调用某个类的某个方法 解决方案三: this在java中我见过比较好的理解是这样的: java中的this翻译成中文意思都可以理解为"我的"的意思,在你定义的那个类里面,不管你在哪里

浅谈Java中常用数据结构的实现类 Collection和Map_java

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类. Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection接口 Collection是最基本的集合接口,一个C

java中实现Serializable接口的类有什么特点?

问题描述 java中实现Serializable接口的类有什么特点? java中实现Serializable接口的类有什么特点,还看到这个实现该接口的类里面一个常量,private static final long serialVersionUID = 1L;如何理解这个常量呢 解决方案 Serializable是一个标识接口,没有需要实现的方法,凡是实现该接口的类都可以进行序列化和反序列化操作. 实现serializable接口的作用是就是可以把对象存到字节流,然后可以恢复.所以你想如果你的

java中匿名对象和匿名类都有关键词new吧

问题描述 java中匿名对象和匿名类都有关键词new吧 java中匿名对象和匿名类都有关键词new吧 那他们应该怎么区分呢 是不是匿名类就没有方法体 匿名对象就有方法体呢 具体是如何区分的呢 解决方案 首先,匿名对象是没有变量接收的对象,例如 new Date(); 这就是定义了一个Date 类型的匿名对象,之所以叫匿名,是因为它没有变量接收,不能调用对象的.操作. 其次,匿名类是没有显示定义类文件的类,但它不一定是匿名对象,例如: Out anonyInter=new Out(){// 获取匿

全面了解Java中的内部类和匿名类_java

Java内部类(Inner Class),类似的概念在C++里也有,那就是嵌套类(Nested Class),乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦.学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构.下面从以下几个方面来介绍: 第一次见面 public interface Contents { int value(); } public interface