首页 > 编程知识 正文

java抽象类,java构造方法有没有返回值

时间:2023-05-04 16:40:56 阅读:147579 作者:76

构造方法

我对封装有了基本的了解。 接下来,以Person为例。 Person的所有属性都是private的,因此无法从外部直接访问属性。 必须向外部提供适当的set和get方法。 创建人对象时,人对象一旦被创建,就必须明确其名称和年龄。 我该怎么办?

构造方法介绍

在开发中,经常需要在创建对象的同时明确对象的属性值。 例如,员工进入的公司需要明确姓名、年龄等属性信息。

那么,创建对象需要明确属性值。 怎样才能解决呢? 这意味着创建对象时要做的事情。 使用new关键字创建对象时,如何将对象的属性的值初始化? 这要学习Java的另一个小技术,结构方法。

那么什么是结构方法呢? 从字面上理解,这是构建创造时使用的方法,也就是创建对象时执行的方法。 既然是在创建对象时执行的方法,那么对于new对象,如果知道要执行的构造方法是什么,则可以在执行该方法时为对象指定属性值。

生成方法格式:修饰符生成方法名称(参数列表) ) ) ) ) )。

{

}

构造方法的表示形式:构造方法没有返回类型。 也不需要写返回值。 因为这是用于构建对象的,所以在创建对象后,方法将停止执行。 构造方法名称必须与类型一致。 构建方法没有具体的返回值。 生成方法的代码表示形式: classPerson {//Person的成员属性age和nameprivateintage; 私有字符串名称; //Person的制作方法是接受参数列表Person(inta,String nm ) /在对象制作时传递的值,输入成员属性age=a; name=nm; }} 构造方法调用和内存图解

了解结构方法的格式和基本功能后,现在就讨论结构方法如何执行。 创建对象时如何初始化?

构建方法专门用于创建对象,而对于new对象,则调用构建方法。 那么,让我们来看看如何调用构建方法。

classPerson {//Person的成员属性age和nameprivateintage; 私有字符串名称; //Person的制作方法是接受参数列表Person(inta,String nm ) /在对象制作时传递的值,输入成员属性age=a; name=nm; }publicvoidspeak () system.out.println ) ) name='name ),age=' age ); }创建classPersondemo { publicstaticvoidmain (string [ ] args ) person对象,对象的年龄和名称personp2=newperson ) 23,' wrdlt }上面的代码显示了在创建对象时构建方法的调用。 这意味着在创建对象时,将调用与参数列表相对应的生成方法。

首先将main方法推入堆栈,然后执行main方法的newperson(23,' wrdlt ' )。 为堆内存分配一个存储已创建的person对象的空间,并为该空间分配自己的内存地址(0x88 )。 然后,默认初始化成员变量。 name=null,age=0)。 执行生成方法代码(age=a; name=nm; 中,将对应于变量a的23代入age,将对应于变量nm的“wrdlt”代入name。 执行此代码后,成员变量age和name的值已更改。 执行完成后,构建方法并弹出堆栈,完成Person对象的创建。 将Person对象的内存地址0x88分配给p2。默认构造方法和细节在学习如何生成之前,还可以使用new关键字创建对象并调用相应的方法。 另外,记述事物的时候也没有写构筑方法。 为什么会这样呢?

在到目前为止的学习过程中,在编写事物时,不会显示指定的构造方法,而是在编译Java文件时,编译器会自动将缺省的构造方法添加到class文件中。 如果在编写类时指定了构造方法,则在编译Java源文件时,编译器将不再向class文件中添加缺省构造方法。

如果未显示class Person {//指定的构造函数方法,则会在编译时自动添加默认构造函数方法//Person () }/null参数的默认构造函数方法。 描述事物时,要在类中写构造函数方法吗? 此时,为了根据所记述的事物的特征来决定,所记述的事物在制作其对象时需要明确属性值,此时在定义类时需要记述带参数的结构方法。 如果在创建对象时不需要明确具体数据,可以不写结构方法(不写也有默认的结构方法)。

构造方法的详细信息:一个类可以具有多个构造方法,多个构造方法以重载的形式存在的构造方法可以用private修饰。 作用:其他程序无法创建该类的对象。 类人员{ private intage; 私有字符串名称; //私人、无参数的结构方法,即从外部输入new Person (); 语句创建这种对象的privatePerson () }/多种构建方法以重载的形式使用person(inta ) {age=a; (Person(stringnm,inta ) ) {name=nm; age=a; }} 构造方法和一般方法区别

到目前为止,我们学习了结构方法和一般方法这两种方法,他们之间有什么异同呢?

构建方法在创建对象时执行,并且仅执行一次。

典型的方法是创建对象后,仅在需要使用时才由对象调用,并且可以多次调用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。