java构造器详解

抽象类是有默认构造方法的普通类构造方法之间的调用可以使用this()来完成。而且必须放在第一句话执行,前面不能有任何其它代码。调用父类构造器使用super()来完成,而且必须放在第一句话执行,前面不能有任何其它代码。this代表当前类,静态块、静态方法中不能使用this关键字。super代表父类的,显式调用;当父类没有默认构造方法时,需要super()显式调用父类构造方法。

Java构造器

构造器的注意事项:

1.构造器的名称必须和类名一致;

2.一个类中可以定义多个构造器,但是构造器的参数列表必须不同;

3.如果我们没有手动定义构造器,则java系统会提供一个默认的构造器给我们使用。一旦我们定了构造器,则系统会把构造器收回;

4.构造器的作用:实例化对象,给对象赋初始值;

5.代码游离块优先执行。

代码如下:

public class Dog{

//属性

private String DogName;

private String DogColor;

private int DogAge;

//构造器的语法:

//[<访问控制修饰符1>] <类名>([参数列表..]){//初始化操作}

//1.默认无参的构造器

private Dog(){

System.out.println("默认无参的构造器");

}

//2.有一个String参数的构造器,并可以给DogName赋值

private Dog(String name){

DogName=name;

}

//3.可以给所有属性赋值的构造器

private Dog(String DogName,String DogColor,int DogAge){

this.DogName=DogName;

this.DogColor=DogColor;

this.DogAge=DogAge;

}

{

System.out.println("-----游离块开始执行");

boolean flag=true;

System.out.println("游离块"+flag);

}

public static void main(String[] args){

//构造器和new关键字一起使用,用于创建累的对象

//创建狗的对象

//类名 对象名=new 构造器

Dog dog1=new Dog();

String DogName=dog1.DogName;

System.out.println(DogName);

Dog dog2=new Dog("加菲狗");

String Dog=dog2.DogName;

System.out.println(Dog);

Dog dog3=new Dog("金毛","金色",3);

String Dog3=dog3.DogName+"是"+dog3.DogColor+",年龄是"+dog3.DogAge;

System.out.println(Dog3);

}

}