Java08-java语法基础(七)构造方法

一、构造方法

1、什么是构造方法?

构造方法(类方法)是一个方法名和类名相容的特殊的成员方法。

2、构造方法的作用?

当使用new关键字创建一个对象时,为新建对象在堆内存开辟一个空间之后,Java系统将自动调用构造方法初始化该新建对象。

3、对象初始化过程

二、构造方法的定义与调用

1、定义:

  class 类名{

        [访问权限] 类名(参数表){

      语句体;

          //构造方法没有返回值

    }

  }

2、调用:

类名 对象名 = new 构造方法名(实参表);

3、栈内存、堆内存

  Person p1 = new Person();

  上述语句中有两个对象:引用对象和内存对象

  具体的存储方式如下图:

  注:new运算符开辟的存储区都在堆内存中

三、构造方法:初始化对象

1、方法名必须和类名相同;

2、定义类时,若没有定义构造方法,java会自动生成一个无参的构造方法;若定义了构造方法,将会把自动生成的够造方法覆盖掉。

3、构造方法没有返回值,而普通的成员方法必须要有返回值类型;

4、构造方法只能用new运算符调用,不能用对象名调用;

四、构造方法的重载

1、方法重载:方法名相同,参数列表不同,实现的效果也不同;

2、构造方法的重载:给构造方法传递不同的参数,就能实现不同形式的初始化;

3、构造方法与普通方法的区别:构造方法是类的一种特殊方法,其特殊性如下:

  (1)可以重载;

  (2)方法名与类名相同;

  (3)不能有返回值,不使用return语句;

  (4)不能由编程人员显式的直接调用(即不能通过“对象名.方法名();”的方式调用),只能通过new操作符调用;

  (5)缺省的空构造方法:在java语言中,每个类都至少有一个构造方法,如果累的定义者没有显式的定义任何构造方法,系统将自动提供一个缺省的构造方法;如果定义了一个或多个构造方法,系统将不再缺省。

4、构造方法与普通成员方法的区别?

  (1)构造方法名与类名相同,成员方法自定义;

  (2)构造方法没有返回值,即没有方法类型;

  (3)构造方法由系统调用,用来实例化对象;

Java08-java语法基础(七)构造方法的更多相关文章

  1. 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用

    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...

  2. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  3. 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字

    084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字 本文知识点:构造方法-this关键字 说明:因为时间紧 ...

  4. 083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法

    083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法 本文知识点:构造方法-带参构造方法 说明:因为时间紧张, ...

  5. 082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法

    082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法 本文知识点:构造方法-无参构造方法 说明:因为时间紧张, ...

  6. Java语法基础学习DayEighteen(常用类)

    一.String类 1.特点 String代表不可变的字符序列,底层用char[]存放. String是final的. 2.内存解析 3.常用方法 int length() char charAt(i ...

  7. JAVA语法基础作业——动手动脑以及课后实验性问题 (八)

    一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...

  8. 黑马程序员——【Java基础】——Java语法基础

    ---------- android培训.java培训.期待与您交流! ---------- 一.关键字 1.定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有的字母都为小写. ...

  9. java语法基础(三)

    类和对象 面向对象语言概述 java是一种面向对象的语言,什么是面向对象的语言? 要搞清楚什么是面向对象语言,我们需要相对的了解一下面向过程的语言. java入门阶段,我们又给大家说过一些语言的分类, ...

  10. java语法基础(一)

    这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...

随机推荐

  1. Servlet基本_セッション属性

    1.概念セッション: ユーザーごとの状態を保存する仕組みです.セッションID: アプリケーションサーバから一意の識別子が割り当てられ.これをセッションIDと言う. 2.サーブレットAPIサーブレットA ...

  2. Delphi中QuotedStr介绍及使用

    delphi 函数给字符串两边加单引号并返回.声明:function QuotedStr(const S: string): string;用函数 QuotedStr把字符串S转换成为用引号括起来的字 ...

  3. 如何使用JBDC修改数据

    1.JDBC取得数据库Connection连接对象conn, Connection conn=null;   //数据库连接对象 String strSql=null;    //sql语句对象 // ...

  4. 16进制转ascii,转字符串

    /** * 16进制转化为字母 * @param hex 要转化的16进制数,用逗号隔开 * 如:53,68,61,64,6f,77 * @return */ public static String ...

  5. delphi通过TADOConnection组件直接连接MSSQL数据库并读写数据。

    unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  6. 【原】Ubuntu virtual terminal

    CTRL+ALT+F1 ~ F6 six virtual terminal ALT-F7 return to graphic desktop

  7. 设置git的http代理

    如果git仓库不和本地代码之间不可以直达,这个时候就可以考虑使用git 代理的方式提交代码到git仓库了; git http代理或者https代理,配置在~/.gitconfig 文件下,可以直接编辑 ...

  8. 吴裕雄 17-MySQL 排序

    如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果. 以下是 SQL SELECT 语句使用 ORDER B ...

  9. platform 系统是windows还是liunx

    import platform # 判断当前代码运行的系统是windows还是liunx print(platform.architecture()) print(platform.platform( ...

  10. ubuntu18.04获取root权限并用root用户登录

    1.为root设置初始密码 (1)登录系统,打开终端,输入命令:sudo passwd root(使用root权限为root更改密码) (2)设置root密码(建议简单点,没必要那么复杂): (3)重 ...