Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >什么叫构造方法?_构造方法和普通方法之间的区别

什么叫构造方法?_构造方法和普通方法之间的区别

作者头像
全栈程序员站长
发布于 2022-09-20 03:14:07
发布于 2022-09-20 03:14:07
74700
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。

定义:在Java中,任何 变量在被使用前都必须先设置初值.Java提供了为类的 成员变量赋初值的专门方法。

特殊性:构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:

1.构造方法作用:(1).构造出来一个类的实例 (2).对构造出来个一个类的实例(对象)初始化。

2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。

4.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。

5.不能被static、final、synchronized、abstract和native修饰。

6.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。

7.构造方法分为两种:无参构造方法 有参构造方法

构造方法可以被重载。没有参数的构造方法称为 默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。

8.构造代码块:   

(1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行   

(2)构造代码块和构造函数的区别:   构造代码块是给所有不同对象的共性进行统一初始化,构造函数是给对应的对象进行初始化

9.子类继承父类中,   ***子类的实例化过程   ***构造方法不能被子类继承   ***子类创建对象时,会先去创建父类的对象。   默认是去调用父类的无参构造方法。   ***子类构造方法中,第一行默认是super()   ***为什么子类中第一行会默认有super()   因为他继承父类的成员使用,使用前这些成员必须初始化,   而他们是父类的成员,所以,必须通过父类进行初始化。   所以,会先创建一个父类的对象。   **当父类没有无参构造方法时

必须使用this或者super调用其他的构造方法。

10.自定义类中,如果不写构造方法,java系统会默认添加一个无参的构造方法。如果写了一个有参的构造方法,就一定要写无参构造方法。   如果想使用无参的构造方法,就必须手动给出无参构造方法。   建议:一般情况下,我们自定义的类都要手动给出无参构造方法。

具体使用:分别计算长、宽为20、10和6、3的两个长方形的面积。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class RectConstructor{

double length;

double width;

double area(){

return length*width;

}

RectConstructor(double width,double length){//带参数的构造方法

this.length=length;

this.width=width;

}

}

public class RectDemo{

public static void main(String args[]) {

RectConstructor rect1=new RectConstructor(10,20);

RectConstructor rect2=new RectConstructor(3,6);

double ar;

ar=rect1.area();

System.out.println("第一个长方形的面积是"+ar);

ar=rect2.area();

System.out.println("第二个长方形的面积是"+ar);

}

}

控制台输出结果为:

第一个长方形的面积是200

第二个长方形的面积是18

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167646.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java中的构造方法[通俗易懂]
【08-10】构造方法 定义:就是类构造对象时调用的方法,主要用来实例化对象。构造方法分为无参构造方法、有参构造方法。 概念:构方法是一种特殊的“成员方法” 1,构造方法作用:(1)构造出来一个类的实例 (2)对构造出来个一个类的实例(对象)初始化 2,构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有 3,主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的 4,类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法 5,不能被static、final、synchronized、abstract和native修饰 6,构造方法在初始化对象时自动执行,一般不能显式地直接调用. 当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应 完成构造函数的调用] 7,构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动 但是经常将他设计为进行各种初始化活动,比如初始化对象的属性 8,构造代码块:     (1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行   (2)构造代码块和构造函数的区别:    构造代码块是给所有不同对象的共性进行统一初始化,构造函数是给对应的对象进行初始化 9,自定义类中,如果不写构造方法,java系统会默认添加一个无参的构造方法。 如果写了一个有参的构造方法,就一定要写无参构造方法。一般情况下,我们自定义的类都要手动给出无参构造方法。
全栈程序员站长
2022/09/08
9220
Java中类的静态代码块、构造代码块、构造方法、普通代码块
Java中静态代码块、构造代码块、构造方法、普通代码块的执行顺序是一个比较常见的笔试题,合理利用其执行顺序也能方便实现项目中的某些功能需求 。
小诸葛
2020/04/14
4K0
Java中类的静态代码块、构造代码块、构造方法、普通代码块
C++期末复习提纲(血小板)
在执行语句块的时候,跳出之后会执行一次析构函数,每次创建一个对象的时候都会执行一次这个构造函数,n++因此这个打印的结果就是232;第一个2就是因为创建了两个对象,第二个3就是有创建了一个对象,第三个2就是因为析构a3对象;
阑梦清川
2025/02/24
870
C++期末复习提纲(血小板)
【09】JAVASE-面向对象-关键字【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
1180
【09】JAVASE-面向对象-关键字【从零开始学JAVA】
Java核心-面向对象(下)
之前说完了类、对象、方法以及面向对象的三大特性封装、继承和多态,现在来了解一下接口、代码块和一些常见的类如抽象类、包装类等。
reload
2024/02/21
1790
Java核心-面向对象(下)
Java之面向对象概述,类,构造方法,static,主方法,对象
一、面向对象概述 面向过程 “面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。 “面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现
二十三年蝉
2018/02/27
1.1K0
Java之面向对象概述,类,构造方法,static,主方法,对象
Java学习历程之----提升篇(六)
前面我们学习了Java语言的三大特性----继承,封装和多态,在前面的Java学习历程之----进阶篇(一)中我们学习到,在面向对象中,类和对象是最基本、最重要的组成单元。所有的对象都是通过类来描绘的,即类是对象的抽象,对象是类的具体,比如学生是一个类,具体到张三同学就是一个对象。Java 语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节我们来介绍一下抽象类。
用户5410712
2022/06/01
2800
Java学习历程之----提升篇(六)
[ Java学习基础 ] Java构造函数
   构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用。 Java构造方法的特点如下: 构造方法名必须与类名相同。 构造方法没有任何返回值,包括void。 构造方法只能与new运算符结合使用。 示例代码如下: 1 //Rectangle.java文件 2 package com.a51work6; 3 4 // 矩形类 5 public class Rectangle { 6 7 // 矩形宽度 8 int wi
Kevin_Zhang
2018/05/22
1.5K0
【编码狂想】解谜OOP:通过实战揭秘面向对象编程的奥秘
采用封装的思想设计一个立方体类(Cube),成员变量有:长(length)、宽(width)、高(height),都为 int 类型;
SarPro
2024/02/20
1840
2021年大数据常用语言Scala(三十):scala面向对象 继承(extends)
scala和Java一样,使用extends关键字来实现继承。可以在子类中定义父类中没有的字段和方法,或者重写父类的方法。
Lansonli
2021/10/11
5690
Java期末 简答题(论述题)以及几个编程题(常考)
1Java继承的关键字:extends 2优势: • 提高了代码的复用性; • 提高了代码的维护性; • 建立了类与类之间的关系,这个是多态的前提。 3缺点:1.耦合性太大 2.就是破坏了类的封装性 4特点: 1 java中,继承是单继承 2java在创建一个对象的时候首先会去调用父类的不带参数的默认的构造方法,就是为了创建父类对象 ,然后再去调用子类的构造方法。 3子类可以使用父类中的成员变量和方法,然后也可以添加自己的属性和方法。
编程张无忌
2021/01/26
2.2K0
Java期末 简答题(论述题)以及几个编程题(常考)
c#中的多态学习总结
c#的多台方法,大体上和c++的类似,但是有点区别的,我这里刚刚初学,因此把重点记录下。
用户4645519
2020/09/07
9390
在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。
(1)使用继承机制,分别设计实现抽象类 图形类,子类类圆形类、正方形类、长方形类,要求: ①抽象类图形类中有属性包括画笔颜色(String类型)、图形是否填充(boolean类型:true表示填充,false表示不填充), 有方法获取图形面积、获取图形周长等; ②使用构造方法为其属性赋初值; ③在每个子类中都重写toString()方法,返回所有属性的信息; ④根据文字描述合理设计子类的其他属性和方法。 (2)设计实现画板类,要求: ①画一个红色、无填充、长和宽分别为10.0与5.0的长方形; ②画一个绿色、有填充、半径为3.0的圆形; ③画一个黄色、无填充、边长为4.0的正方形; ④分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。
百思不得小赵
2022/12/01
2.3K0
java中的构造方法与代码块
Java中用"{}"包起来的就叫做代码块,根据位置与声明的不同,可以分为以下几种:
栗筝i
2022/12/01
9430
抽象类和抽象方法
  父类要体现所有子类的共同特征,在设计某些方法(行为特征或功能)时,我们发现父类中无法给出合理的具体实现,而应该交由子类来实现,那么这样的方法就应该设计为抽象方法,而包含抽象方法的类就必须为抽象类。
别团等shy哥发育
2023/02/25
6030
抽象类和抽象方法
【博客同步】系统学习javaweb-02-java面相对象
成员属性有默认的初始值,其中String等引用类型为null,而局部变量没有初始值。
CS逍遥剑仙
2025/03/01
940
面向对象编程:深入理解抽象类和关键字
在Java编程中,我们经常会遇到一些特殊的关键字和概念,其中包括static、final以及抽象类等。本文将深入探讨这些关键字和概念的作用和使用方法,并通过一个实例展示抽象类的应用。
IT_陈寒
2023/12/13
1780
关于JAVA你必须知道的那些事(三):继承和访问修饰符
今天乘着还有一些时间,把上次拖欠的面向对象编程三大特性中遗留的继承和多态给简单说明一下。这一部分还是非常重要的,需要仔细思考。
啃饼思录
2018/12/06
1.1K0
关于JAVA你必须知道的那些事(三):继承和访问修饰符
05 Java 类和对象
面向对象是 Java 最重要的特性。Java 是彻底的、纯粹的面向对象语言,在 Java 中“一切都是对象”。本章将介绍面向对象基础知识。
acc8226
2022/05/17
7170
05 Java 类和对象
读书笔记 | 类的使用 | Effective Java 3
通过一个枚举类的形式定义标签,管理实例的不同逻辑处理的分发控制。举个例子,内部枚举对象 Shape 表示图形的类型,计算面积的时候,通过标签类型分别选择圆形和矩形的计算方式来计算。
架构探险之道
2023/03/04
4340
读书笔记 | 类的使用 | Effective Java 3
推荐阅读
相关推荐
Java中的构造方法[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档