构造函数:构建创造对象时调用的函数
特点:
  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关键字的更多相关文章

  1. 3.JAVA基础复习——JAVA中的类与对象

    什么是对象: 就是现实中真实的实体,对象与实体是一一对应的,现实中每一个实体都是一个对象在. JAVA中的对象: Java中通过new关键字来创建对象. 类: 用JAVA语言对现实生活中的事物进行描述 ...

  2. 7.JAVA基础复习——JAVA中的设计模式单例模式

    设计模式:是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 总体来说设计模式分为23种三大类: 创建型模式,共 ...

  3. 5.JAVA基础复习——JAVA中的static关键字作用与用法

    static关键字: 特点: 1.static是一个修饰符,用于修饰成员.(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量. 2.static修饰的成员被所有的对象共享. 3. ...

  4. [java基础]复习 java三大特性,异常,接口,String

    继承 关键字extends 继承是为了不同的实现(龙生九子,各不相同) 单继承,一个类最多只能有一个父类 除了私有的外,子类可以访问父类的方法.属性. new过程中,父类先进行初始化,可通过super ...

  5. 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成

    java中的文档注释:用于说明该类的功能作用方便他人使用关键词前需要加@符 用于类的注释 @author name 作者 @version v1.0 版本 …… 用于函数的注释 @param para ...

  6. Java基础复习--java.util.Timer定时任务

    在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下. (1)sche ...

  7. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  8. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  9. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

随机推荐

  1. 输入正整数n,求各位数字和

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/5 10:24 * @description ...

  2. js_1_基本语法

  3. High Performance Networking in Google Chrome

    小结: 1. 小文件存储于一个文件中: 在内部,磁盘缓存(disk cache)实现了它自己的一组数据结构, 它们被存储在一个单独的缓存目录里.其中有索引文件(在浏览器启动时加载到内存中),数据文件( ...

  4. 简述移动端开发前端和app间的关系

    <p>前端页面嵌套进app内部,一般有时候会进行一些交互,类似于前端页面请求后台接口一样,通常会起一个前端开发人员和app开发人员会相互协定一个协议;双方就协议而言去进行请求接口和返回数据 ...

  5. set和 map 数据结构

    set/map数据结构 创建: var  s=new Set(); 添加成员 s.add(1) 遍历 for of s.froEach 删除 s.delete() 判断存在 s.has() 清除 s. ...

  6. 爬虫-----selenium模块自动爬取网页资源

    selenium介绍与使用 1 selenium介绍 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作.     sel ...

  7. 小程序:scroll-view组件滑动多次触发scroll事件的bug解决

    在项目开发过程中,组件是微信小程序提供给我们的一个分页器,一般滑动到底部时会触发scroll事件,scroll事件中往往包含对后端数据的请求:若是还未滑动到底部时频繁触发事件,则会频繁发请求,达不到想 ...

  8. 贝塞尔曲线java实现

    主类:BezierFrame package bezierT; import java.awt.Color; import java.awt.Dimension; import java.awt.Ev ...

  9. python数组相关知识

    1.np中的reshape函数,可以把矩阵重新划分成m行n列. arange(n)可以把 [0,n-1]装入数组中,一定要注意的是img.reshape()并不会改变原来的数组,所以需要另外新建一个数 ...

  10. 关于cc.easesinexxx 与 cc.easeexponentiallxxx 的几种效果简单描述

    代码样例: var biggerEase = cc.scaleBy(0.7,1.2,1.2).easing(cc.easeSineInOut()) 呈正弦变化 1)CCEaseSineIn       ...