第六篇 初涉类与对象-2
栏目分类:java教程 发布日期:2019-09-21 浏览次数:次
在Java类与方法之后,我们来讲解一下Java对象。在Java中创建一个对象的时候至少要调用一个构造器(构造方法),每个Java类中都有构造器,如果没有为类显示定义构造器,编译器则会自己为这个类提供一个默认的构造器。构造器是用来初始化类的,对类进行初始化和实例化,以方便调用。构造器的名称需要和类名相同(如果有多个类的话,则应与公共类类名相同),一个类之中也可以有多个构造器。
构造器又分有参构造器与无参构造器,有参构造器主要是为了对类中属性初始化。无参构造器则是控制对象,是默认的构造器。这里需要注意的一下是,如果已经写了一个有参构造器的话,默认的无参构造器就不会自动添加,需要自己进行显式声明。至于为何会存在两种构造器了?原因是我们在编写程序的过程中会创建一些不需要参数的对象,这些无参数的对象实例化需要无参构造器进行实例化(有参构造器会自动传入参数进行初始化)
public class Humanity{
public Humanity(){
//无参构造器
}
public Humanity(String name){
//有参构造器
}
}
定义好构造器之后,就可以创建对象了。在Java中使用new关键字来创建对象,完成对象的创建一共需要三步,声明、实例化、初始化。声明即为对象声明对象名和数据类型,实例化才是使用new关键字创建对象,初始化这一步则是new创建对象时调用构造器进行初始化对象,到此便完成了一个对象的创建。下面我们来看一下实际操作代码。
有参构造器版本:
public class Humanity{
public Humanity(String age) {
System.out.println("Age:"+age);
//有参构造器 参数为age
}
public static void main(String[] args) {
Humanity hero = new Humanity("16");
//创建了一个名为hero属于Humanity类的对象
//类名 对象名 = new 类名(参数)
}
}
无参构造器版本:
public class Humanity{
public Humanity() {
//无参构造器
}
public static void main(String[] args) {
Humanity hero = new Humanity();
//创建了一个名为hero属于Humanity类的对象
//类名 对象名 = new 类名()
}
}
构造器又分有参构造器与无参构造器,有参构造器主要是为了对类中属性初始化。无参构造器则是控制对象,是默认的构造器。这里需要注意的一下是,如果已经写了一个有参构造器的话,默认的无参构造器就不会自动添加,需要自己进行显式声明。至于为何会存在两种构造器了?原因是我们在编写程序的过程中会创建一些不需要参数的对象,这些无参数的对象实例化需要无参构造器进行实例化(有参构造器会自动传入参数进行初始化)
public class Humanity{
public Humanity(){
//无参构造器
}
public Humanity(String name){
//有参构造器
}
}
定义好构造器之后,就可以创建对象了。在Java中使用new关键字来创建对象,完成对象的创建一共需要三步,声明、实例化、初始化。声明即为对象声明对象名和数据类型,实例化才是使用new关键字创建对象,初始化这一步则是new创建对象时调用构造器进行初始化对象,到此便完成了一个对象的创建。下面我们来看一下实际操作代码。
有参构造器版本:
public class Humanity{
public Humanity(String age) {
System.out.println("Age:"+age);
//有参构造器 参数为age
}
public static void main(String[] args) {
Humanity hero = new Humanity("16");
//创建了一个名为hero属于Humanity类的对象
//类名 对象名 = new 类名(参数)
}
}
无参构造器版本:
public class Humanity{
public Humanity() {
//无参构造器
}
public static void main(String[] args) {
Humanity hero = new Humanity();
//创建了一个名为hero属于Humanity类的对象
//类名 对象名 = new 类名()
}
}
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/java/440.html