构造方法:有参构造与无参构造方法;[创建对象时调用的方法]
{创建方法时一定会调用构造器}
作用:构造类的对象并且用来初始化对象的属性。
构造方法:必须是没有返回值类型且构造方法的名字要和类的名字是一致的。
构造方法:是类的一部分,用于创建对象与初始化对象的,就是对象的实例化。如果没有的话,是不可以创建对象的,但是却不存在这种情况,因为类会有一个默认的无参构造方法。也可以显示的在类中的写出无参的构造方法,就是修改后的构造方法。如果类中存在有参的构造方法,那么创建类对象的时候就不会调用类默认的无参的构造方法。此时,创建类对象的时候,就必须要带参数。
比如:
public Sample2(int a){System.out.println(“My Constructor”);}
}
Sample2 s=new Sample2();
报错的原因:在Sample2 s=new Sample2();创建对象时,后台编译会自动找你代码里的无参数构造方法,没有就会报错,你加上参数,你那个就可以当有参构造器就可以调用。
所以:Sample2 s=new Sample2(2); //这个就是没有问题的
对于类中的普通方法:可以通过创建对象后,使用对象.方法的方式来进行调用。创建对象的过程中会调用构造方法,这个就是区别。
可以将构造方法理解成:类的组成部分 作用是创建对象 和需要初始化的代码
以下摘自别人博客整理:http://www.blogjava.net/mirenxiaoxiao/archive/2010/11/12/337918.html
构造方法和方法的区别:
构造方法要与类名相同,无返回类型,在类初始化的时候调用。
方法最好与类名不同,对象调用,静态方法可用类名.方法().
我相信大多说人都对构造方法、方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望大家多多讨论。
构造方法和方法的区别:
构造方法要与类名相同,无返回类型,在类初始化的时候调用。
方法最好与类名不同,对象调用,静态方法可用类名.方法().
构造器和方法在下面三个方面区别:修饰符,返回值,命名。
1。和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。
2。返回类型也是非常重要的。方法能返回任何类型的值或者无返回值(void),构造器没有返回值,也不需要void。
3。两者的命名。构造器使用和类相同的名字,而方法则不同。按照习惯,方法通常用小写字母开始,而构造器通常用大写字母开始。构造器通常是一个名词,因为它和类名相同;而方法通常更接近动词,因为它说明一个操作。
构造方法和方法中this和supper的用法区别:
"this"的用法
构造器和方法使用关键字this有很大的区别。方法引用this指向正在执行方法的类的实例。静态方法不能使用this关键字,因为静态方法不属于类的实 例,所以this也就没有什么东西去指向。构造器的this指向同一个类中,不同参数列表的另外一个构造器,我们看看下面的代码:
package com.dr.gouzao;
public class Platypus {
String name;
Platypus(String input) {
name = input;
}
Platypus() {
this("John/Mary Doe");
}
public static void main(String args[]) {
Platypus p1 = new Platypus("digger");
Platypus p2 = new Platypus();
System.out.println(p1.name + "----" + p2.name);
}
}
在上面的代码中,有2个不同参数列表的构造器。第一个构造器,给类的成员name赋值,第二个构造器,调用第一个构造器,给成员变量name一个初始值 “John/Mary Doe”.
在构造器中,如果要使用关键字this,那么,必须放在第一行,如果不这样,将导致一个编译错误。
在一个构造方法中只能调用一次其它的构造方法,并且调用构造方法的语句必须是第一条语句。