JavaSE基础之构造器(构造方法)和一般方法

一.概念:

1.构造方法

语法格式:

修饰符 类名(参数类型 参数1,参数类型 参数2,...){.....}

用于创建对象并初始化对象属性的方法,叫“构造方法”,也叫“构造器”;构造器在类中定义。若未指定一个类的构造方法,则系统默认为该类创建一个无参的构造方法.

2.一般方法

语法格式:

修饰符 返回值类型 方法名(参数类型 参数1,参数类型 参数2,...){  方法体; }

是用于对当前对象数据进行算法计算,实现业务功能。方法是对象的功能,对象的动作,对象的行为。总之是动词!方法名没有规定,建议首单词为小写动词,其他单词首字母大写。必须定义返回值(无返回值,声明返回参数为void)!可有无参数方法。方法调用只有两种方式:①对象引用调用②类名调用(即静态类时)。

二.构造方法与一般方法的区别

1)构造器的名称必须与类名同名,包括大小写。

2)构造器没有返回值,但也不能写void,也不能写return。

3)构造器的参数:一般是初始化对象的前提条件。

4)用new调用!且对象一建立,构造器就运行且仅运行一次。一般方法可被调用多次。

5)类一定有构造器!这是真的,不需要质疑!

6)如果类没有声明(定义)任何的构造器,Java编译器会自动插入默认构造器!

7)默认构造是无参数,方法体是空的构造器,且默认构造器的访问权限随着所属类的访问权限变化而变化。如,若类被public修饰,则默认构造器也带public修饰符。

8)默认构造器是看不到的,一旦自己写上构造器则默认构造器就没有了,自己写的叫自定义构造器,即便自己写的是空参数的构造器,也是自定义构造器,而不是默认构造器。

9)如果类声明了构造器,Java编译器将不再提供默认构造器。若没手动写出无参构造器,但却调用了无参构造器,将会报错!

10)构造器是可以重载的,重载的目的是为了使用方便,重载规则与方法重载规则相同。

11)构造器是不能继承的!虽说是叫构造方法,但实际上它不是常说的一般方法。

12)子类继承父类,那么子类型构造器默认调用父类型的无参数构造器。

13)子类构造器一定要调用父类构造器,如果父类没有无参数构造器,则必须使用super(有参数的),来调用父类有参的构造器。 那么,为什么子类一定要访问父类的构造器?

因为父类中的数据子类可以直接获取。所以子类对象在建立时,需要先查看父类是如何对这些数据进行初始化的,所以子类在对象初始化时,要先访问一下父类中的构造器。

总之,子类中至少会有一个构造器会访问父类中的构造器,且子类中每一个构造函数内的第一行都有一句隐式super()。

14) 构造方法不能由编程人员调用,而要系统调用。

  构造方法作用:

             1.为了初始化成员属性,而不是初始化对象,初始化对象是通过new关键字实现的

2.通过new调用构造方法初始化对象,编译时根据参数签名来检查构造函数,称为静态联编和编译多态
               (参数签名:参数的类型,参数个数和参数顺序)

3.创建子类对象会调用父类构造方法但不会创建父类对象,只是调用父类构造方法初始化父类成员属性;

15)构造方法与一般方法在运行上的不同:
构造方法:
      构造方法在创建的时候就给对象初始化; 一个对象建立构造方法只能运行一次;
一般方法:
       一般方法是对象调用才执行,给对象添加对象具备的功能; 一般方法可以被对象多次调用;
 有时一个类中可能存在多个构造函数,每个构造函数的参数类型都不同
 多个构造函数可看做方法的重载
 根据参数类型匹配相应的构造函数

原文地址:https://www.cnblogs.com/luke-liuqi/p/9308935.html

时间: 2024-11-06 11:31:19

JavaSE基础之构造器(构造方法)和一般方法的相关文章

Java基础03 构造器与方法重载(转载)

显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行. 定义构造器 构造器(constructor)是一个方法.像普通方法一样,我们在类中定义构造器.构造器有如下基本特征: 构造器的名字和类的名字相同 构造器没有返回值 我们定义Human类的构造器: public class Test{    public static void main(String[

[Objective-c 基础 - 2.7] 构造方法、重写init方法

A.id 万能指针,可以指向任何对象,实质是NSObject的指针,使用的时候不用加上* B.NSObject中得类方法new 1.完整地创建一个可用对象步骤 (1)分配存储空间 + alloc (2)初始化 - init 1 // 1.调用+alloc分配存储空间 2 Person *p1 = [Person alloc]; 3 // 2.调用-init进行初始化 4 Person *p2 = [p1 init]; 5 // 同时进行分配存储空间和初始化 6 Person *p3 = [[Pe

Java基础03 构造器与方法重载

在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员会根据其类型采用默认初始值. 显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行. 定义构造器 构造器是一个方法.像普通方法一样,我们在类中定义构造器.构造

javaSE基础07

javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 static用来修饰成员变量 一个成员变量被static修饰了叫静态成员变量,如果没有修饰叫非静态成员变量 静态成员变量的访问方式: 1.用对象进行访问:对象.变量名 2.还可以通过类名来访问:类名.变量名 使用注意点: 1.不要认为方便就将所有的变量用static修饰,只有当这个数据真正需要共享的时候才用

javase基础复习攻略《十》

按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络?把分布在不同区域的计算机与专门的外部设备用通信线路互联成一个规模大.功能强的网络系统,从而使众多计算机可以方便的互相传递信息,共享硬盘.软件.数据信息等资源. 什么是网络通信协议:计算机网络中实现通信必须有一些约定即通信协议,对速率.传输代码.代码结构.传输控制步骤.出错控制等制定标准. 网络通信接

Java复习第二天---JavaSE基础

[1]以下关于 JVM 的叙述,哪些项正确? A.JVM 运行于操作系统之上,它依赖于操作系统 B.JVM 运行于操作系统之上,它与操作系统无关 C.JVM 支持 Java 程序运行,它能够直接运行 Java 字节码文件 D.JVM 支持 Java 程序运行,它能够直接运行 Java 源代码文件 扩展名为.java的是源代码文件(文本文件):开发时编写代码的文件 扩展名为.class的是字节码文件(二进制):系统运行时执行的文件 [2]下列选项中正确的表达式是: A.byte b = 128; 

JavaSE基础之封装

JavaSE基础之封装 一.Java中的封装 1.字面意思: 包装: 2.专业含义: 面向对象的三大特征之一: 指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问. 二.封装的目的 1.隐藏类的实现细节: 2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问: 3.可进行数据检查,从而有利于保证对象信息的完整性: 4.便于修改,提高代码的可维护性: 三.如何实现良好的封

Function 构造器及其对象、方法

一.基础 Function 是一个构造器,能创建Function对象,即JavaScript中每个函数实际上都是Function 对象. 构造方法:  new Function ([arg1[, arg2[, ...argN]],] functionBody) 说明:arg1.arg2等为构造器的参数,functionBody为方法体.注意:参数必须用引号包围! 实例: var plus=new Function("a","b","return a+b&q

JavaSe基础回顾(一)

JavaSe基础知识点总结 1.变量 变量是内存中用来存放特定数据类型数据的一块内存空间,它的值是可以改变的.Java中的变量有四个基本属性:变量名,数据类型,存储单元和变量值 变量名:合法的标识符 变量的数据类型:可以是基本类型和引用类型(必须包含类型) 存储单元:存储单元大小是由数据类型决定的,如:int 为4个字节32位 变量值:在存储单元中存放的值 变量的声明格式: 类型 变量名: 2.运算符 运算符种类                       符号 赋值运算符