Java构造方法的含义和使用

  我们实例化对象时,一般使用"类名 对象名 = new 类名()"来实例化,其实这样并不是十分严谨,只是编译器帮我们自动补全了一个空的构造方法,当实例化对象时,构造方法会被自动调用,所以我们应该是实例化的构造方法,那么构造方法是怎么定义的呢,方法如下:

1 public class Hello {
2     public Hello {
3         //这就是一个构造方法,构造方法没有返回值,方法名与类名相同,参数可以有,也可以不用指定
4     }
5 }

那么上面这个就是构造方法了,特点注释已经说明了,那么这个方法就是系统初始化的构造方法,里面可以写一些语句,当实例化对象时,构造方法会被自动调用,如果我们自己定义了新的构造方法,那么系统就会执行我们定义的,而不是默认的

我们还可以定义有参数的构造方法,目的是初始化成员变量的值,或者实例化的时候传入一些参数,我们同时可以很好地控制参数的合法性,并且有选择的进行初始化,为程序设计带来方便

  另外要注意:有参数的构造方法可以和无参数的构造方法同时存在,也就是说一个类中允许出现两个构造方法,并且一个有参数一个无参数;

  那么我们实例化对象的时候,如果不写参数比如:Hello he = new Hello();这样系统就调用无参数的构造方法;

  如果同时实例化另外一个对象:Hello he1 = new Hello(1.2f,2.3f,3.0);那么系统就会调用我们所写的有参数的构造方法,

  如果我们只定义了有参数的构造方法没有定义无参的构造方法,那么我们实例化对象的时候必须赋初始值,否则系统不会给我们添加无参的构造方法

  另外构造方法和普通方法一样可以重载,我们可以根据需要来实例化对象

时间: 2024-10-05 05:46:39

Java构造方法的含义和使用的相关文章

java context的含义(转)

Context在Java中的出现是如此频繁,但其中文翻译“上下文”又是如此诡异拗口,因此导致很多人不是很了解Context的具体含义是指什么,所以很有必要来深究一下这词的含义. 先来举几个JAVA中用到Context的例子 (1)JNDI的一个类javax.naming.InitialContext,它读取JNDI的一些配置信息,并内含对象和其在JNDI中的注册名称的映射信息.请看下面的代码 InitialContext ic=new InitialContext();RMIAdaptor se

JAVA构造方法,继承关系和SUPER关键字

SUPER可调用父类的构造方法,但要注意默认调用和参数调用. 同时,在继承类时,可以用SUPER调用其它非构造方法哟. class Test extends Object{ public Test(){ System.out.println("Test1 First thing"); } public Test(String welcome){ System.out.println("Test1 " + welcome); } protected void doSo

7.Java构造方法和析构方法

Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法. 构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且没有方法的返回类型(包括没有void).另外,构造方法一般都应用 public 类型来说明,这样才能在程序任意的位置创建类的实例--对象. 示例:下面是一个 Rectangle 类的构造方法,它带有两个参数,分别表示矩形的长和宽: public class Rectangle {     publi

Java构造方法与析构方法

Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法.构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且没有方法的返回类型(包括没有void).另外,构造方法一般都应用 public 类型来说明,这样才能在程序任意的位置创建类的实例也就是对象.示例:下面是一个 Rectangle 类的构造方法,一个是带有两个参数,分别表示矩形的长和宽: 另一个是不带参数:public class Rectangle {

[转]java构造方法的访问修饰符

http://my.oschina.net/u/1464678/blog/210359 1.       类(class) 可见性修饰符: public—在所有类中可见,在其他包中可以用import导入.                              缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入.               修饰符:final—终态类,表示该类不能被继承 abstract—抽象类,不能新建对象 2.       变量(variabl

java构造方法

1.使用new+构造方法,创建一个新的对象 2.构造方法是定义在Java类中的一个用来初始化对象的方法,构造方法与类同名且没有返回值. 3.无参构造方法的使用 4.有参构造方法的使用 5.当没有指定构造方法时,系统会自动添加无参的构造方法 6.当有指定构造方法,无论是有参.无参的构造方法,都不会自动添加无参的构造方法. 7 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法. 8.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性附一个合理的值

java 构造方法中super()的作用?

手贱百度了一下 :java里面自定义类的有参构造方法为什么不用super() 举个例子: class Father { Father(){print ('father');}; } class Son { Son(){print ('son')}; } 如果只是这样,那么构造Son之前会在后台调用一下super()函数,调用过程你看不到,但是确实执行了,结果是先father后son但是这种时候你显示的写个super就没有意义了,那么他在什么时候用呢,再举个例子 给你举个例子 class Fath

Java构造方法的相互调用

在Java中,如果类的一个构造方法想要调用另一个构造方法,需要用this(参数列表)的形式来调用. public class Student { String name; int age; public Student(int age) { this("Jack",age); } public Student(String name, int age) { this.name = name; this.age = age; } }

Java关键字及其含义

关键字 含义 abstract 表明类或者成员方法具有抽象属性 assert 用来进行程序调试 boolean 基本数据类型之一,布尔类型 break 提前跳出一个块 byte 基本数据类型之一,字节类型 case 用在switch语句之中,表面其中的一个分支 catch 用在异常处理中,用来捕捉异常 char 基本数据类型之一,字符类型 class 类 const 保留关键字,没有具体含义 continue 回到一个块的开始处 default 默认,例如,用在switch语句中,表明一个默认的