public class Car{ }
在声明了一个类之后,我们可以通过通过这个类,创建一个实例对象。
创建对象一共有三步:
声明:声明一个对象,包括对象的名称和对象的类型。
实例化:用关键字new来创建一个对象。
初始化:使用new来创建对象时,会调用构造方法初始化对象。
举个栗子:
Car Porsche = new Car();
在这个语句里面,Car Porsche就是第一步,声明。对象的类型是Car,对象的名称是Porsche。
后面的new Car()完成了第二步和第三步。
千万不要以后new后面的Car()是调用了上面的
public class Car{ }
这个东西并不是一个函数。它调用的是一个默认的,没有被显示出来的构造函数。
构造函数是一个没有返回类型(void也不行),拥有访问修饰符的一个函数。
Java规定每一个类必须要有构造函数,如果像上面的那个例子一样没有构造函数,那么java会给它一个默认的构造函数。
这样说起来太抽象,举个栗子:
public class Car{ } public class Tree{ Public void Tree(){ System.out.println("我不是构造函数,因为我的返回值为void"); } public Tree(){ System.out.println("我是构造函数"); } } public class House{ public House(String name){ System.out.println("我是构造函数,我叫" + name); } } public class Flower{ public Flower(){ System.out.println("我是构造函数"); } public Flower(String name){ System.out.println("我也是构造函数,我叫" + name); } } Car Porsche = new Car(); //调用默认构造函数 Tree Maple = new Tree(); //调用自己定义的构造函数,输出:我是构造函数 House appartment = new House(); //!!!!有错!!!!因为House的构造函数是有参数的。他自己定义了构造函数,没有默认的构造函数 House appartment = new House("full_house");//调用自己定义的构造函数,输出:我是构造函数,我叫full_house Flower daffodil = new Flower();//调用自己定义的构造函数,输出:我是构造函数 Flower daffodil = new Flower("daffodil");//调用自己定义的构造函数,输出:我是构造函数,我叫daffodil
由此完成实例化。
但要注意,实例化的过程,就是给实例对象分配内存的过程。
所以在下面的例子里,new一个daffodil的时候,也会为name分一块存储空间。
public class Flower{ String name; public Flower(){ System.out.println("我是构造函数"); } public Flower(String name){ System.out.println("我也是构造函数,我叫" + name); } } Flower daffodil = new Flower();
相关推荐
* 执行启动类的main函数 -> 创建对象的继承树从高到底的类层次中的静态块(如果已经被执行过,则不会重复执行) -> * 继承树中的从最高层开始的实例语句块{}、然后对应的构造函数、以及构造函数中调用的方法 * ...
大家都知道抽象类无法实例化,就无法创建对象。所以下面这篇文章主要给大家介绍了关于Java实例化一个抽象类对象的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧...
主要介绍了Java创建内部类对象实例详解的相关资料,需要的朋友可以参考下
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
自己编写的java调用实例,通过配置文件进行组件的装配,通过反射进行对象的创建,通过接口进行对象的调用。组件依赖的对象和对象的行为通过配置文件配置
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...
java 面向对象设计 创建类 继承 封装 子类父类各种程序实例
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
自己设计的一个程序,展现有继承结构的子类对象的初始化过程(包含构造方法、初始化值、父类构造方法、父类的初始化值的环节)
实例154 使用静态成员变量计算内存中实例化的对象数目 239 实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂...
JAVA设计模式,定义:提供创建对象的接口. 为何使用? 工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。
作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类譬如每台计算机可以有若干个打印机,但只能有一个Printer,以避免两个打印作业同时输出到打印机...
您将了解如何正确创建对象实例、访问实例的成员变量和方法、实现对象的拷贝(包括浅拷贝和深拷贝)、判断对象相等性、管理对象的生命周期、实现线程安全的单例模式等。此外,我们还探讨了对象的哈希码、重写equals()...
主要介绍了Java String创建对象实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
40.2 为枚举创建实例 66 40.3 如何使用枚举的实例 66 40.4 使用枚举优化披萨工厂 67 40.5 枚举类型也可以有构造方法 68 40.6 枚举类型也可以有属性 68 40.7 枚举类型也支持带参数的构造方法。 68 40.8 枚举类型也...
JAVA类,只要知道了类名(全名)可以创建其实例对象,通用的方法是直接使用该类提供的构造方法,如 NewObject o = new NewObject(); NewObject o = new NewObject("test"); NewObject o = new NewObject...
在实例化一个对象时,Java虚拟机会根据类的定义分配相应的内存空间,并将属性字段的值设置为初始值。 在使用对象的过程中,属性字段的值可能会发生改变。这些改变可能是通过直接访问属性字段的方式进行的,也可能是...