Java构造方法

Java构造方法

当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。

Java中构造方法重载和方法重载很相似。可以为一个类创建多个构造方法。每一个构造方法必须有它自己唯一的参数列表。

Java不支持像C++中那样的复制构造方法,这个不同点是因为如果你不自己写构造方法的情况下,Java不会创建默认的复制构造方法。

构造方法的方法名必须与类名相同

构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。

构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。

一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。

构造方法可以重载,以参数的个数,类型,顺序。

构造方法是一个特殊的方法。
方法结构:
访问修饰符 类名(参数列表){方法体}

构造方法重载。
在没写构造方法是 有一个默认的
类名(){}构造方法

this()是调用本类不带参构造方法;
super()是调用父类不带参的构造方法;

构造方法和方法的类似之处在于它们都包含可执行代码,区别在于,只有当Java类实例化时才执行构造方法。构造方法通常包含类属性初始化代码,从严格意义上说,构造方法并不是方法,因为它不会返回任何值。

	public class A{
		int i=0;
		public A(){
			i=2;
		}
		public A(int i){
			this.i=i;
		}
	}

默认构造方法
如果没有任何的构造方法,编译时系统会自动添加一个默认无参构造方法
1.隐含的默认构造方法

public A(){}

2.显示的默认构造方法

	public A(){
	System.out.print("显示的默认构造方法")
	}

重载构造方法
比如原本的类里的构造方法是一个参数的,现在新建的对象是有三个参数,此时就要重载构造方法
当一个类中有多个构造方法,有可能会出现重复性操作,这时可以用this语句调用其他的构造方法。

public class A{
	private int age;
	private String name;
	public A(int age,String name){
		this.age=age;
		this.name=name;
	}
	public A(int age){
		this(age,"周杰伦");//调用 A(int age,String name)构造方法
	}
	public A(){
		this(1);//调用 A(int age)构造方法
	}
	public void setName(String name) {this.name=name;}
	public String getName() {return name;}
	public void setAge(int age) {this.age=age;}
	public int getAge() {return age;}
}
A a=new A(20,"邓紫棋");
A b=new A(20);
A c=new A();
String name = a.getName();
String name1 = b.getName();
int age = c.getAge();
System.out.println(name);
System.out.println(name1);
System.out.println(age);
  • 53
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值