本篇文章为你整理了1.类&对象&构造方法(类和对象构造函数)的详细内容,包含有类的构造方法对应着对象的属性 类和对象构造函数 类 对象 实例 类中对象的组成包括 1.类&对象&构造方法,希望能帮助你了解 1.类&对象&构造方法。
堆中存放对象和非静态变量。
在使用new关键字产生对象后,对象会存放进堆中进行管理,对象名就是对象在堆中的地址。
对象把被它调用的成员变量直接存储到堆中。
对象把被它调用的成员方法地址存储到堆中,间接调用。
堆中的内容会被垃圾回收器回收。
1.3 栈(stack)
调用的方法都会进入到栈中(包括main方法),方法执行完成就出栈。若调用的是对象的方法,则会先进入堆中找到这个方法的地址,再根据地址进入方法区进行调用。
2. 对象作为方法的参数和返回值
成员变量位于方法外,可供整个类使用;局部变量位于方法内,仅它所在的方法可使用。
成员变量有默认值null,定义时可不赋值;局部变量没有默认值,定义时必须赋值。
3.2 内存管理
由于成员变量在类中定义,而类实例化为对象后是进入堆中,故成员变量是在堆中进行管理。
局部变量在方法中定义,方法是在栈中进行管理,故局部变量也在栈中进行管理。
3.3 生命周期
局部变量在栈中,故最终随方法出栈以结束生命周期,周期较短。
成员变量在堆中,故最终以垃圾回收的方式结束周期,周期较长。
3.4 this关键字的使用
若某个类中,局部变量的名称和成员变量名称相同,则可使用this关键字对局部变量进行标识,以区分两个变量。
若有多个类,则this表示的是造成重名的那个类。
4. private型变量的访问
若类中有变量private int age,则在类以外无法直接访问这个变量。
若要在类外访问private型变量age,需在类中定义setAge()和getAge()两个方法,按格式要求,变量名age的首字母必须为大写(idea中使用alt+insert可快速创建)。
setAge()和getAge()方法中可编写访问控制语句。
5. 构造方法
构造方法用于创建对象,若默认的构造方法无法满足使用需求,可自定义构造方法,以替代默认方式,在创建对象时提供额外的功能(实现逻辑、为变量赋值等)。
构造方法可进行重载(可创建多个同名构造方法,方法名称相同,但参数列表不同,使用时根据参数列表进行区分)。
public Student(String name,int age){
System.out.println("My name is"+name+", Im "+age+"years old");
this("java",18) ;//无参构造方法中调用有参构造方法
System.out.println("Im a student");
public Student(String name,int age){
System.out.println("My name is "+name+", Im "+age+" years old");
/*输出结果:
My name is java, Im 18 years old
Im a student
以上就是1.类&对象&构造方法(类和对象构造函数)的详细内容,想要了解更多 1.类&对象&构造方法的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。