Java基础-8构造方法
一)、构造方法:
在之前我们提到对象的概念以及对象的实例化等,在这里简单回顾下:
Man man = new Man();
语句创建一个对象,new可以理解成创建一个对象的关键字,通过new关键字为对象分配内存,初始化实例变量,并调用构造方法。
Man()形式上和调用方法相同,而这个Man()就是一个特殊的方法叫做构造方法;
构造方法在代码中并没有看到这个方法的定义原因是在没有定义构造方法的时候,JAVA会隐式的创建一个无参的默认构造方法
构造方法有以下几个特征:1、具有和类相同的名称;2、不含有返回值;3、不能在方法中使用return返回一个值
在一个类中具有上述特征的方法就是构造方法。
在这里需要特别注意的是,在构造方法里不含返回值的概念不同于void,依然以Man类为例,public Man(){}是构造方法,如果写成public void Man(){};就不是构造方法了。
示例:
/**
* 构造方法
**/
public person(String eat, String sleep, String speak)
{
this.EAT= eat;
this.SLEEP= sleep;
this.SPEAK= speak;
}
/**
* 非构造方法
**/
public void Man(){
System.out.println("输出~") ;
}
构造方法一共分为两类,一类是当程序没有定义构造方法时,系统自己生成的默认的构造方法,这个默认的构造方法没有参数,方法体中也没有任何代码,即什么也不做,但是会对类成员变量进行默认的初始化。
另一类是程序自己定义的构造方法,可以根据自己的要求对类成员变量进行初始化,也叫做参数化构造方法。需要注意:一旦程序自己定义了构造方法,系统就不会创建默认的构造方法了。
在构造方法中常用到关键字 this ,this 表示的是当前对象,如在同一个类中成员调用类中其他成员;如构造方法使用this关键字为当前成员变量赋值;
this 关键字既可以访问当前对象的数据成员,也可以访问当前对象的成员方法;
二)、对象的生命周期:
类定义之后,只是产生了对事物的描述,并没有生成事物的实例。所以必须对类进行实例化,来生成客观事物的内存映像,这就是对象的创建。对象创建之后必定要显示它的一些特征和表现一些行为,这就是对象的使用。当对象不再使用时(没有任何引用变量指向它时),对象就变成了垃圾,这就是对象的消亡。
当程序的某个部件完成使命后,程序员往往弃之不顾,这是很危险的,这些垃圾会占用系统资源,造成内存泄漏等,所以清理垃圾是必要的。Java垃圾回收的偶然性,如果在一个对象成为垃圾时需要马上释放,可以使用System.gc();来强制启动垃圾回收器回收垃圾。
Java基础-8构造方法的更多相关文章
- Java基础—String构造方法
Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...
- java基础知识 构造方法
在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...
- java基础(12):构造方法、this、super
1. 构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方 ...
- 【BigData】Java基础_构造方法的使用
需求描述 实现上图需求,根据输入的三个人的信息,分别计算出这个三个客户的平均年龄和最大年龄 涉及知识点: ①构造方法 ②字符串切割 ③对象数组 代码实现 代码结构图: package cn.test. ...
- 【Java基础】构造方法调用构造方法
从一个程序开始: class dog { private String name; private String color; private int age; dog(String name) // ...
- Java基础 - 面向对象 - 构造方法
在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法.构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的.每当类实例化一个对象时,类都会自动调用构造方法. 构造方法的特点: 构 ...
- Java基础之构造方法及其应用
构造方法是一种特殊的方法,它是一个与类同名且无返回值类型(连void也不能有)的方法. 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化. 当类实例化一个对象时会自动调用构造方法.构造方 ...
- 【Java基础】构造方法 static 块 {}块 执行顺序
package com.test.innerclass; public class HelloB extends HelloA { public HelloB() { System.out.print ...
- 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用
085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...
随机推荐
- eclipse 集成jdk
最近想整合一个工具,eplise中包含了 pc 自动化可用的一套环境,让其他测试人员,下载下来就可以用,不需要在进行安装其他东西,jdk安装也不需要,这事可有些犯难,eplise集成了svn和test ...
- 2018.8.1 Java中的反射和同步详解
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他 ...
- 剑指offer49 把字符串转换成整数
这个代码会报错 class Solution { public: ,kinvalid}; int now_status = kvalid; int StrToInt(string str) { now ...
- Maven中maven-source-plugin,maven-javadoc-plugin插件的使用:
摘要:今天领导说要把项目通过maven生产源码包和文档包并发布到自己的私服上,经过查看mavne官网发现有两个maven插件可以做到这些工作,一个是maven-source-plugin,另一个是ma ...
- 将base64编码转换图片
/// <summary> /// 二进制Base64编码转图片 /// </summary> /// <param name="bytes"> ...
- Swiper插件
中文官网:Swiper中文网 英文:英文网 此插件功能比较强大,网页端.手机端都可以使用的插件.这里记录一下在微信h5页面里面滑动获取数据. 先下载css和js,引用到项目中 这里有6个节点,没划一个 ...
- C#使用事件方式Winform窗体之间传值
[摘自:http://www.cnblogs.com/codeToUp/p/5371062.html] 工程的源代码地址:https://github.com/yes-or-no/WinFormTra ...
- Maven学习总结(10)
本文通过一个例子来介绍利用maven来构建一个多模块的jave项目.开发工具:intellij idea. 一.项目结构 multi-module-project是主工程,里面包含两个模块(Modul ...
- Mybatis基础入门学习
Mybatis基础入门学习 mybatis架构分析 搭建测试mybatis架构 )下载并导入mybatis3.2.7.jar(架构),mysql-connector-java-5.1.7-bin.ja ...
- Mysql查看锁等信息SQL语句
查看锁等信息,包括锁信息: select "HOLD:",ph.id h_processid,trh.trx_id h_trx_id,trh.trx_started h_start ...