构造方法、this和super
1、构造方法概述
创建对象的时候会调用构造方法。创建对象时需要给对象的属性初始化,这时需要有参的构造方法。
构造方法的格式:
修饰符 构造方法名(参数列表) {
}
构造方法的体现:
- 构造方法没有返回值类型,也不需要返回值。对象创建完成,方法执行完成
- 构造方法的方法名必须和类名一致
- 构造方法没有具体的返回值
2、默认的构造方法
在编写Java文件时,如果没有写构造方法,那么,在编译时,编译器会为我们在.class文件中添加默认的构造方法。如果在.java文件中手动添加了构造方法,则编译器在编译过程中不会在.class文件中添加默认的构造方法。
在创建对象时就需要明确其属性,此时需要添加带参数的构造方法;创建对象时不需要明确其具体属性值的,不用书写构造方法(不书写也会有默认的构造方法)。
构造方法的细节:
- 一个类可以有多个构造方法,多个构造方法以重载的形式存在
- 构造方法可以被private修饰,作用四其他程序无法创建该类的对象
3、构造方法和普通方法的区别
构造方法在创建对象时被调用,只执行一次。
普通方法在对象创建后被调用,可以被重复调用。
4、this关键字
this代表本类对象的一个引用。
this的作用:
- 构造方法之间的调用可以通过this关键字来完成
- this可以用于区分同名成员变量与局部变量
5、super关键字
super代表父类对象的一个引用。
子类中所有的构造方法第一行默认有个super();语句。
父类中没有空参构造方法时,子类的构造方法必须有显式的super语句,指定访问父类中的有参构造方法。
构造方法、this和super的更多相关文章
- 构造方法里的super()方法
为什么经常会遇到有的构造函数会有super(),而有的却没有,其实super就比如 对数函数,log的底数为10,如果为10 ,我们可写可不写,如果不为10,那么我们就要加上底数 在子类构造方法中,s ...
- 构造方法中关键字-- super
package lijun.cn.demo4; public class Person { int num =777; public Person(){ System.out.println(&quo ...
- java中构造方法和方法super/this超类与子类中初始化顺序
java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...
- Java—构造方法及this/super/final/static关键字
构造方法 构建创造时用的方法,即就是对象创建时要执行的方法. //构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对 ...
- super用法和继承中的构造方法
当new出来一个对象的时候, this是只想对象本身. 在存在继承关系时, 在子类中用super表示引用父类中的东西. 子类的构造过程必须调用父类的构造方法. 子类中包含父类,所以子类中一定要先调用 ...
- super()调用父类构造方法
super()表示调用父类中的构造方法 1.子类继承父类,子类的构造方法的第一行,系统会默认编写super(),在调用子类的构造方法时,先调用父类的无参数构造方法 2.如果父类中只有有参数构造方法,那 ...
- 构造方法 this super
1 构造方法 1.1 构造方法Constructor概述创建对象要明确属性值,此时需要用到构造方法,即对象创建时要执行的方法,用来给对象的属性进行初始化.在new对象时,知道其执行的构造方法是什么,就 ...
- 关于继承中的super()调用父类构造方法
super super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. 每当你new一个子类对象的时候,子类对象都隐式内置了一个父类对象.所以说,为了那个内置的父类 ...
- 12_Java面向对象_第12天(构造方法、this、super)_讲义
今日内容介绍 1.构造方法 2.this关键字 3.super关键字 4.综合案例 01构造方法引入 A:构造方法的引入 在开发中经常需要在创建对象的同时明确对象的属性值, 比如员工入职公司就要明确他 ...
- 4、构造方法、this、super
构造方法 构造方法引入 * A:构造方法的引入 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名.年龄等属性信息. 那么,创建对象就要明确属性值,那怎么解决呢?也就是 ...
随机推荐
- Hadoop Trash回收站使用指南
转载:https://blog.csdn.net/sunnyyoona/article/details/78869778 我们在删除一个文件时,遇到如下问题,提示我们不能删除文件放回回收站: sudo ...
- hive操作记录
hive是依赖于hdfs和yarn的一个数据仓库 数据库和数据仓库的区别: 数据库在存储数据的同时,允许实时的增删改查等操作 数据仓库在存储数据的同时还执行着计算和分析数据的工作,但是并不能实时的进行 ...
- Ajax的原理和应用
这篇文章中,我将从10个方面来对AJAX技术进行系统的讲解. 1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google sugg ...
- Python学习笔记(六)多进程实现并发服务器
这个相对于多进程更加简单,每accept一个新的连接就创建一个新的线程.代码如下: # coding: utf-8 import socket import sys import errno impo ...
- WP8数据存储--独立存储设置
<Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinition ...
- Quartz简介 用 Quartz 进行作业调度
http://www.ibm.com/developerworks/cn/java/j-quartz/现代的 Web 应用程序框架在范围和复杂性方面都有所发展,应用程序的每个底层组件也必须相应地发展. ...
- android中几个很有用的的api
0x0001 public PackageInfo getPackageArchiveInfo (String archiveFilePath, int flags) Since: API Level ...
- C#实现插件的“动态替换”
如果某个"功能"需要动态更新?这种动态更新,可能是需求驱动的,也可能是为了修改 BUG,面对这种场景,如何实现“热插拔”呢?先解释一下“热插拔”:在系统运行过程动态替换某些功能,不 ...
- poj 3666 河南省第七届程序设计D题(山区修路)
题目大意: 给定一个序列,以最小代价将其变成单调不增或单调不减序列,求最小的变动价值:需要用到离散化dp 状态转移方程: dp[i][j]=abs(j-w[i])+min(dp[i-1][k]);(k ...
- Java联网技术之一TCP socket
最近突然对java网络编程编程这一块非常感兴趣,于是找了很多资料,一点点的尝试,下面是自己的一点小见解,不喜勿喷,欢迎指正. 首先说说客户端和服务器端吧, 如果是网页的话,客户端通过网页的链接对服务器 ...