1、构造方法概述

创建对象的时候会调用构造方法。创建对象时需要给对象的属性初始化,这时需要有参的构造方法。

构造方法的格式:

  修饰符 构造方法名(参数列表) {

  }

构造方法的体现:

  • 构造方法没有返回值类型,也不需要返回值。对象创建完成,方法执行完成
  • 构造方法的方法名必须和类名一致
  • 构造方法没有具体的返回值

2、默认的构造方法

在编写Java文件时,如果没有写构造方法,那么,在编译时,编译器会为我们在.class文件中添加默认的构造方法。如果在.java文件中手动添加了构造方法,则编译器在编译过程中不会在.class文件中添加默认的构造方法。

在创建对象时就需要明确其属性,此时需要添加带参数的构造方法;创建对象时不需要明确其具体属性值的,不用书写构造方法(不书写也会有默认的构造方法)。

构造方法的细节:

  • 一个类可以有多个构造方法,多个构造方法以重载的形式存在
  • 构造方法可以被private修饰,作用四其他程序无法创建该类的对象

3、构造方法和普通方法的区别

构造方法在创建对象时被调用,只执行一次。

普通方法在对象创建后被调用,可以被重复调用。

4、this关键字

this代表本类对象的一个引用。

this的作用:

  • 构造方法之间的调用可以通过this关键字来完成
  • this可以用于区分同名成员变量与局部变量

5、super关键字

super代表父类对象的一个引用。

子类中所有的构造方法第一行默认有个super();语句。

父类中没有空参构造方法时,子类的构造方法必须有显式的super语句,指定访问父类中的有参构造方法。

构造方法、this和super的更多相关文章

  1. 构造方法里的super()方法

    为什么经常会遇到有的构造函数会有super(),而有的却没有,其实super就比如 对数函数,log的底数为10,如果为10 ,我们可写可不写,如果不为10,那么我们就要加上底数 在子类构造方法中,s ...

  2. 构造方法中关键字-- super

    package lijun.cn.demo4; public class Person { int num =777; public Person(){ System.out.println(&quo ...

  3. java中构造方法和方法super/this超类与子类中初始化顺序

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  4. Java—构造方法及this/super/final/static关键字

    构造方法 构建创造时用的方法,即就是对象创建时要执行的方法. //构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对 ...

  5. super用法和继承中的构造方法

    当new出来一个对象的时候,  this是只想对象本身. 在存在继承关系时, 在子类中用super表示引用父类中的东西. 子类的构造过程必须调用父类的构造方法. 子类中包含父类,所以子类中一定要先调用 ...

  6. super()调用父类构造方法

    super()表示调用父类中的构造方法 1.子类继承父类,子类的构造方法的第一行,系统会默认编写super(),在调用子类的构造方法时,先调用父类的无参数构造方法 2.如果父类中只有有参数构造方法,那 ...

  7. 构造方法 this super

    1 构造方法 1.1 构造方法Constructor概述创建对象要明确属性值,此时需要用到构造方法,即对象创建时要执行的方法,用来给对象的属性进行初始化.在new对象时,知道其执行的构造方法是什么,就 ...

  8. 关于继承中的super()调用父类构造方法

    super super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. 每当你new一个子类对象的时候,子类对象都隐式内置了一个父类对象.所以说,为了那个内置的父类 ...

  9. 12_Java面向对象_第12天(构造方法、this、super)_讲义

    今日内容介绍 1.构造方法 2.this关键字 3.super关键字 4.综合案例 01构造方法引入 A:构造方法的引入 在开发中经常需要在创建对象的同时明确对象的属性值, 比如员工入职公司就要明确他 ...

  10. 4、构造方法、this、super

    构造方法 构造方法引入 * A:构造方法的引入 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名.年龄等属性信息. 那么,创建对象就要明确属性值,那怎么解决呢?也就是 ...

随机推荐

  1. [Functional Programming] Draw Items from One JavaScript Array to Another using a Pair ADT

    We want to be able to pick nine random cards from an array of twelve cards, but can run into problem ...

  2. Codeforces Round #307 (Div. 2) D. GukiZ and Binary Operations (矩阵高速幂)

    题目地址:http://codeforces.com/contest/551/problem/D 分析下公式能够知道,相当于每一位上放0或者1使得最后成为0或者1.假设最后是0的话,那么全部相邻位一定 ...

  3. unity Chan!下载

    http://unity-chan.com/download/datadownload.html

  4. python——PEP8 Python 编码规范整理

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

  5. java8 环境变量设置

    Java8环境变量配置:a.JAVA_HOME:jdk安装目录b.CLASSPATH:.;%JAVA_HOME%\libc.PATH:%JAVA_HOME%\bin配置环境变量方法:1.点击计算机,右 ...

  6. 应用程序池和应用程序域的区别(Difference between application pool and application domain)

    来自StackOverFlow:  http://stackoverflow.com/questions/8486335/difference-between-an-application-domai ...

  7. 移动端H5页面 input 获取焦点时,虚拟键盘挡住input输入框解决方法

    在移动端h5开发的时候,发现如果input在页面底部,当触发input焦点的时候会弹出系统虚拟键盘,虚拟键盘会遮挡input输入框.这会很影响用户体验,于是在网上找到了如下的解决办法: 方法一:使用w ...

  8. web报表工具FineReport常见的数据集报错错误代码和解释

    在使用finereport制作报表.若预览错误发生.非常多朋友便手忙脚乱不知所措了,事实上没什么,仅仅要看懂报错代码和含义.能够非常快的排除错误,这里我就分享一下finereport的数据集报错错误代 ...

  9. 远程调用——hessian使用入门

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协 ...

  10. find命令下排除部分目录修改权限

    #!/bin/bash # 项目文件夹.文件权限修改 # 批量修改文件夹或者文件的权限时,需要先忽略掉可写文件夹('./bootstrap/cache'.'./public/attachments'. ...