构造方法的作用和用法(对于刚接触的学员)
很多新学员不知道构造方法是做什么的,有的稀里糊涂,那什么是构造方法呢?先来理解一下构造方法的意思。
构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
看到这里有很少同学还是不懂,先理解与类同名且没有返回值类型的方法,
那么下来理解对象的创建就是通过构造方法来完成:
特殊性
构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:
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系统会默认添加一个无参的构造方法。如果写了一个有参的构造方法,就一定要写无参构造方法。
如果想使用无参的构造方法,就必须手动给出无参构造方法。
建议:一般情况下,我们自定义的类都要手动给出无参构造方法。
构造方法的作用和用法(对于刚接触的学员)相关推荐
- java中的就近原则、方法中值传递和引用传递的区别、什么是构造方法、this关键字用法、什么是封装
你知道java中的就近原则嘛? package com.Test.java; /*** * 在java里面有一个"就近原则"详情可以参照下面代码**/public class Ac ...
- oracle的chr的使用,Oracle 学习之:ASCII,CHR函数的作用和用法
对于ASCII以及CHR函数的用法,Oracle给出的解释是: ASCII(x)gets the ASCII value of the character X, CHR() and ASCII() h ...
- DOCTYPE声明作用及用法详解
一.浏览器呈现模式和doctype 有的网页是遵循标准而创作的,但也有很多不是.即使你不能创建遵循标准的网页,也希望浏览器根据标准来正确显示那些页.目前,大量网页充斥着大量非标准代码,它们仍能正常地工 ...
- 刚接触电子时,有过哪些百思不得其解的问题?
青少年时期,刚接触电子时,出于好奇,对这方面的东西也比较关注,但同时也衍生了一些百思不得其解的疑问,比如... 01 物理书里说大地是导体,那为什么我的小灯珠却不亮!? 02 初三时学了物理的电学,知 ...
- 第0课第2节_刚接触开发板之烧写裸板程序
第0课第2节_刚接触开发板之烧写裸板程序 tftp用法 q //退出菜单 help tftp print //显示IP set ipaddr 192.168.31.203 //设置开发板IP set ...
- CyclicBarrie(循环栅栏)的作用与用法
CyclicBarrie的作用与用法 一.CyclicBarrie的作用 CyclicBarrier循环栅栏(循环屏障)是一个多线程同步的辅助工具类,它允许一组线程在到达某个等待屏障点(common ...
- break的作用与用法
11.1.1 break的作用与用法 循环就象绕圈子.比如,体育课,跑1200米,跑道一圈400米,所以我们要做的事就是一边跑一边在心里计数(当然要已数,否则老师万一少计一圈,我们可就玩完了),当计数 ...
- python框架django书籍_有Python基础,刚接触web框架的Django初学者。
本文面向:有Python基础,刚接触web框架的Django初学者. 环境:windows7 python3.5.1 pycharm Django 1.10版 pip3 一.Django简介 百度百科 ...
- PreTranslateMessage作用和用法
PreTranslateMessage作用和用法 PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗体的消息都要通过这里,比較经常使用,当 ...
最新文章
- git命令从入门到实战,看这一篇足矣
- sprintf格式化字符串带来的注入隐患
- OpenCV HDF读写属性
- 飞鸽传书下载 分析企业OpenEIM
- 解决透视变换后图片信息丢失的问题
- 法的详细步骤_空气能热水工程安装步骤讲解
- Docker安装OpenResty教程
- docker-ce-17.09 容器创建,运行,进入,删除,导入/导出
- 不同语言编程能整合到一起吗_学习编程入门指南
- 线程安全与synchronized
- html链接phpayadmain数据库,无法从Xamain.iOs和Xamarin.Android使用C#连接到MySql
- python判断完美数_Python识别完美数
- ddos源码 ntp_DDOS攻击之NTP放大攻击
- 腾讯云mysql的技术原理_腾讯云自研数据库 CynosDB 存储架构揭秘!
- 爬虫实践: 获取百度贴吧内容
- 大数据解决方案,案例分享
- 王爽版汇编语言实验7 寻址方式在结构化数据访问中的应用
- Luatos学习:Air101点灯
- 信号和电源隔离的有效设计技术
- 源码通透-mybatis源码分析以及整合spring过程