JAVA 构造方法与匿名对象

构造方法

定义java中的类一般包含3个部分

  • 属性
  • 构造方法
  • 普通方法
构造方法:
  • 构造方法名称与类名相同,无返回值;
  • 每个类中至少有1个构造方法;
  • 构造方法允许重载,重载时只需考虑改变参数类型或个数

在实例化对象格式
类名称  对象名称 = new  类名称()
其中  类名称()  就是构造方法。
如果定义类的过程中没有定义构造方法,则会在实例化时系统自动生成默认的无参数构造方法。
如果重载了带参数构造方法,则系统将不会自动生成默认的构造方法,也就是在实例化时,需要带上参数,否则会报错。
class Person{
   	 Person(){	//系统默认的无参数构造方法
	
	}

	Person(String name,int age){	// 重载的带参数的构造方法
		name=name;
		age=age;
	}
	public void info(){
		System.out.println(name,age);
	}
}

public class testDemo(){
	public static void main(String args[]){
		Person per=new Person("张三",20); //重载了带参数的构造方法,在实例化时需要带参数,否则会报错
		per.info();
	}
}

疑问:构造方法没有返回值,为什么不用void声明?
public Person() //构造方法
public void Person()    //普通方法
从结构上来看,区分出普通方法与构造方法

构造方法的作用
  • 利用构造方法对属性初始化处理
  • 如果有很多个属性参数,可以避免重复的调用setter方法。(可以一次性传递多个参数,不用多次setter方法赋值)
  • setter方法除了赋值之外,也可以对属性进行修改,也就是重新赋值。

匿名对象

new Person("张三",20).info();
不用对象名  Person per ,只使用后边的new Person("张三",20) ,这个就是匿名对象。
匿名对象不会有栈内存空间,所以使用一次后就会成为垃圾。
一般使用有名对象,使用的多了或者对象太多了,可直接使用匿名对象。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值