4.JAVA基础复习——JAVA中的构造函数与this关键字
构造函数:构建创造对象时调用的函数
特点:
1.函数名与类名相同。
2.不用定义返回值类型。
3.没有具体的返回值。
public class Demo {
private int age;
private String name;
//省略get、set方法
public Demo(){//无惨构造不写时系统将默认添加一个无惨构造
}
}
作用:
给对象初始化,创建对象时会先调用构造方法对对象进行初始化。
注意:
1.默认构造函数的特点。不写构造函数时系统会自动给加一个默认的构造函数,如果自己 定义了一个构造函数,系统不会再给添加一个默认的构造函数。
2.多个构造函数是以重载的形式存在的。
3.创建对象都必须要通过构造函数初始化。
public class Demo {
private int age;
private String name;
//省略get、set方法
public Demo(){//无参构造不写时系统将默认添加一个无惨构造
}
public Demo(int age) {//有参构造多个构造函数以重载的形式存在
this.age = age;
}
public Demo(String name){
this.name = name;
}
public Demo(String name,int age){
this(age);
this.name=name;
} public static void main(String[] args) {
Demo d = new Demo(10);//创建对象时会先去找与之参数对应的构造函数进行初始化
}
一般函数和构造函数的区别:
构造函数:
对象创建时,就会调用与之对应的构造函数,对对象进行初始化。
对象创建时,会调用且只调用一次
一般函数:
对象创建后,需要函数功能是才调用。
对象创建后,可以调用多次。
什么时候定义构造函数:
在描述事物时,该事物一存在就具备一些内容,这些内容都定义在构造函数中。
this关键字:
作用:
1.当成员变量和局部变量重名时,可以用this关键字来区分
public class Demo {
private int age;//成员变量
private String name;
public Demo(int age) {//参数为局部变量
this.age = age;//this.age表示当前对象的age用来跟局部变量age区分
}
}
2.当构造函数需要调用已有的构造函数时可以有this关键字,需要注意的是需要将调用的 构造函数放在第一行。
public class Demo {
private int age;
private String name;
public Demo(int age) {
this.age = age;
}
public Demo(String name,int age){
this(age);//调用已有的构造函数,注意调用的构造函数要放在第一行
this.name=name;
}
}
this:
代表当前对象。
是所在函数所属对象的引用。
简单来说:哪个对象调用了this所在的函数,this就代表哪个对象。
4.JAVA基础复习——JAVA中的构造函数与this关键字的更多相关文章
- 3.JAVA基础复习——JAVA中的类与对象
什么是对象: 就是现实中真实的实体,对象与实体是一一对应的,现实中每一个实体都是一个对象在. JAVA中的对象: Java中通过new关键字来创建对象. 类: 用JAVA语言对现实生活中的事物进行描述 ...
- 7.JAVA基础复习——JAVA中的设计模式单例模式
设计模式:是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 总体来说设计模式分为23种三大类: 创建型模式,共 ...
- 5.JAVA基础复习——JAVA中的static关键字作用与用法
static关键字: 特点: 1.static是一个修饰符,用于修饰成员.(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量. 2.static修饰的成员被所有的对象共享. 3. ...
- [java基础]复习 java三大特性,异常,接口,String
继承 关键字extends 继承是为了不同的实现(龙生九子,各不相同) 单继承,一个类最多只能有一个父类 除了私有的外,子类可以访问父类的方法.属性. new过程中,父类先进行初始化,可通过super ...
- 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成
java中的文档注释:用于说明该类的功能作用方便他人使用关键词前需要加@符 用于类的注释 @author name 作者 @version v1.0 版本 …… 用于函数的注释 @param para ...
- Java基础复习--java.util.Timer定时任务
在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下. (1)sche ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
随机推荐
- snmp简单测试
一.环境搭建 搜索windows Server2003安装配置snmp 服务,按照提示来就行 二.利用 1.找出Coummunity Strings 利用于 auxiliary/scanner/snm ...
- VUE iview date-picker取时间范围...
x HTML <script src="//unpkg.com/vue/dist/vue.js"></script> <script src=&quo ...
- 2018-2019-2 20165311《网络对抗技术》Exp5 MSF基础应用
<网络对抗技术>Exp5 MSF基础应用 实验目的 实验内容 一个主动攻击实践(ms08_067) 一个针对浏览器的攻击(ms11_050) 一个针对客户端的攻击(adobe_toolbu ...
- NoSQL数据库常见分类
1.列式数据库HBaseBigTable2.K-V数据库RedisCassandraLevelDBMemCacheEhcache3.文档数据库MongoDBCouchDB4.全文搜索引擎Elastic ...
- [crypto][ipsec] 简述ESP协议的sequence number机制
预备 首先提及一个概念叫重放攻击,对应的机制叫做:anti-replay https://en.wikipedia.org/wiki/Anti-replay IPsec协议的anti-replay特性 ...
- [strongswan] strongswan METHOD宏
使用METHOD宏的函数定义: METHOD(message_t, get_message_id, uint32_t, private_message_t *this) { return this-& ...
- qss qt按钮自定义
- AIX7.1环境打补丁缺少bash OPATCHAUTO-72049
DB:12.1.0.2.0 RAC OS:AIX 7.1 [To patch only the GI home] su - root export UNZIPPED_PATCH_LOCATION=/o ...
- httpclient方式调用接口
public class ToInterface { /** * post方式提交表单(模拟用户登录请求) */ public static void postForm() { // 创建默认的htt ...
- LeetCode-7-反转整数-c# 版本
c# 版本 // 给定一个 32 位有符号整数,将整数中的数字进行反转. public class Solution { public int Reverse(int x) { / // 边界判断 / ...