public class Test {
public static void main(String[] argc){
Test obj; //1. ---> here object is created
Test obj = new Test(); //2. --> or here object is created
}
}
请
正如本java教程中所解释的,对象创建分为三个部分:
1。声明:声明obj变量:test obj;
它只是声明了一个变量。对于基元变量,这个声明也保留了适当数量的内存,但是对于引用变量,它不创建Object。
需要运算符new
来为obj分配memroy并返回对该内存的引用。new
运算符还调用对象构造函数。
问题内容: 我想知道抽象类的构造函数的作用是什么;因为我们没有实例化抽象类,所以为什么我们需要这样的构造函数? 问题答案: 有时候,您需要对实例变量进行一些常见的初始化,而所有继承类都需要设置。在扩展抽象类时,您会实例化该抽象类,而该具体类具有构造函数,该构造函数将向抽象类的构造函数提供参数。
问题内容: Oracle Java教程站点的这一段使我感到困惑: 所有类都有至少一个构造函数。如果一个类未显式声明任何类,则Java编译器会自动提供一个无参数的构造函数,称为默认构造函数。此默认构造函数调用类父级的无参数构造函数,如果该类没有其他父级,则调用Object构造函数。如果父级没有构造函数(对象确实有一个构造函数),则编译器将拒绝该程序。 如果所有对象都直接或间接继承自Object,那么
我在弄清楚如何根据给定的类型在构造函数中创建一个新对象时遇到了困难。 例如,我有一个机器人驱动程序,它有一个默认构造函数,不接受任何参数,并创建一个基本的机器人。但我有另一个构造器,根据这个论点创造了一个新的机器人。 是一个接口。那么,如果我想创建,使其是另一种类型,比如?我需要做一些类型的铸造吗?
问题内容: 如果一个类包含一堆静态方法,为了确保没有人错误地初始化该类的实例,我做了一个私有的构造函数: 现在..鉴于无法看到构造函数,该如何进行测试?可以测试吗? 问题答案: 使用反射,您 可以 调用私有构造函数: 但是,您甚至可以做到这一点: 通过在构造函数中引发异常,可以防止所有尝试。 我也会自己上课,因为“因为”:
问题内容: 我在一个Activity中有一个IntentService,当我尝试调用该服务时,它将引发此错误,我发现这很奇怪,因为如果我声明了空的构造函数。 错误: AndroidManifest.xml 活动: 问题答案: 你是一个内部阶级。如果要将其保留在内部,请将其更改为static: 您可能需要阅读不同类型的嵌套类。google的第一个链接:http : //docs.oracle.com