JAVA 构造方法与匿名对象

来源:互联网 发布:js如何覆盖css效果 编辑:程序博客网 时间:2024/06/10 16:15

构造方法

定义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) ,这个就是匿名对象。
匿名对象不会有栈内存空间,所以使用一次后就会成为垃圾。
一般使用有名对象,使用的多了或者对象太多了,可直接使用匿名对象。



原创粉丝点击