• 构造方法


    构造方法:

    1、使用new + 构造方法 创建一个新的对象

    2、构造函数是定义在java类中的一个用来初始化对象的函数

    3、构造与类同名且没有返回值

    4、当没有构造方法时,编译器为类自动添加形如 类名(){ }的构造方法

    5、但是一旦写了构造方法之后,编译器就不会为类添加构造方法了,也就是说在调用默认的构造方法就会出错

    例如:Person类的构造函数

    public class Person{

    int id;

    int age;

    Person(int _id,int _age){

    id = _id;

    age = _age;

    }

    }

    public class Test{

    public static void main(String[] args){

    Person tom = new Person(1,25);

    Person john = new Person(2,27);

    Person jerry = new Person();

    }

    }

    在执行Person tom = new Person(1,25);这行代码时,在栈内存里分配叫tom的并且在占内存里面分配_id和_age两个变量,将1和25两个数传递给_id和_age两个参数,且在堆内存里面也分配Person的对象有自己的属性id和age,内存情况如图:

     

    当执行这两行代码时,

    id = _id;

    age = _age;

    堆内存里面的id 等于1,堆内存里面的age等于25;当一个方法完成之后分配给占内存里面为他分配的空间消失,内存如图:

     

     

    同理Person john = new Person(2,27);也是一样的

     

    1、当没有写构造方法时,系统默认添加构造方法:例如下面的写法是可以的;

    class Point{

    int x;

    int y;

    }

    public class Test{

    public static void main(String[] args){

    Point p = new Point();

    }

    }

    2、当写了构造方法之后系统就不会再添加构造方法,例如下面代码时错误的:

    public class Person{

    int id;

    int age;

    Person(int _id,int _age){

    id = _id;

    age = _age;

    }

    }

    public class Test{

    public static void main(String[] args){

    Person tom = new Person(1,25);

    Person john = new Person(2,27);

    Person jerry = new Person(); //写了构造方法之后系统就不会再添加构造方法

    }

    }

     

    构造方法常见错误点:

    1、构造方法没有返回值

    void Person(int _id,int _age){

    id = _id;

    age = _age;

    }

    这是个普通的方法:如果调用可以这样写:tom.Person(1,25);

     

  • 相关阅读:
    Mybatis(spring)(多个参数)(插入数据返回id)
    乱码的情况
    struts2常用类型的Result
    struts2中的session使用
    linux查看端口占用程序
    webservice笔记
    Java读文件夹
    JSON笔记
    about Base64
    【转载】MyEclipse6.5 KeyGen
  • 原文地址:https://www.cnblogs.com/white-the-Alan/p/10166804.html
Copyright © 2020-2023  润新知