Java中的构造函数和重载
一.Java中的构造函数
构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字。构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身。构造函数定义后,创建对象时就会自动调用它,对新创建的对象分配内存空间和初始化。在 Java 中,构造函数也可以重载,当创建一个对象时, JVM 会自动根据当前对方法的调用形式在类的定义中匹配形式符合的构造方法,匹配成功后执行该构造方法。
eg:
public Class Dog
{
private int age;
private String name;
//无参构造
public Dog(){}
//带参构造:用于给类中的属性赋值
public Dog(int age,string name)
{
this.age=age;
this.name=name;
}
}
二.Java中默认构造
如果省略构造方法的定义,则 Java 会自动调用默认的构造方法。但是如果定义了构造方法,则系统不再提供默认的构造方法。默认的构造方法没有任何参数,不执行任何操作。实际上,默认的构造方法的功能是调用此类的父类中的不带参数的那个构造方法,如果父类中不存在这样的构造方法,编译时会产生错误信息。 Object 是 Java 中所有类的根,定义它的直接子类,可以省略 extends 子句,编译器会自动包含它。
三.方法重载
方法名称相同,参数项不相同。那么认为一个方法是另一个方法的重载方法。
注意:重载只跟参数有关,与返回类型无关。方法名和参数相同而返回类型不相同,不能说是重载。
public void Say(int age){}
public int Say(int age,string name){}
public String Say(String name,String age){}
四.构造方法重载
构造方法重载是方法重载的一个典型的特例。参数列表不同。
可以通过重载构造方法来表达对象的各种多种初始化行为。也就是说在通过new语句创建一个对象时,可以实现在不同的条件下,让不同的对象具有不同的初始化行为。
public Class Text
{
Private String name;
Private String sex;
Public Text(String name){
this.name=name;
}
Public Text(String name,String sex){
this.name=name;
this.sex=sex;
}
}
Java中的构造函数和重载的更多相关文章
- Java中的构造函数——通过示例学习Java编程(14)
作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=25 构造函数是用来初始化新创建的对象的代码块. ...
- C++中复制构造函数与重载赋值操作符总结
前言 这篇文章将对C++中复制构造函数和重载赋值操作符进行总结,包括以下内容: 1.复制构造函数和重载赋值操作符的定义: 2.复制构造函数和重载赋值操作符的调用时机: 3.复制构造函数和重载赋值操作符 ...
- Java中有关构造函数的一道笔试题解析
Java中有关构造函数的一道笔试题解析 1.详细题目例如以下 下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与c ...
- 谈谈java中的构造函数
from 本篇博文主要是为新手.对java语言感兴趣的人和那些没有系统学习过java基础知识的人进行一个总结,在文章中对构造函数进行了较为详细的说明和讨论,也包含了我个人对于java面向对象中构造函数 ...
- C++中复制构造函数与重载赋值操作符
我们都知道,在C++中建立一个类,这个类中肯定会包括构造函数.析构函数.复制构造函数和重载赋值操作:即使在你没有明确定义的情况下,编译器也会给你生成这样的四个函数.例如以下类: class CTe ...
- 4.JAVA基础复习——JAVA中的构造函数与this关键字
构造函数:构建创造对象时调用的函数 特点: 1.函数名与类名相同. 2.不用定义返回值类型. 3.没有具体的返回值. public class Demo { private int age; priv ...
- 简单的描述Java中的构造函数,及访问修饰符
作为一个Java 初学者,对Java的理解可能有些片面,甚至有些错误的理解,对于观看此处的您,希望您选择性观看!!! 访问修饰符: 1.常用访问修饰符: public 共有的 private 私有的 ...
- java中的构造函数
在c++中就学习了构造函数,今天学习java又碰到了构造函数,重新写一篇博客来理解一下 其实直接听这个词并不能理解这是什么,但其实看了它的作用,就很好理解了 当创建一个对象时,往往需要做一些初始化工作 ...
- 关于java中private构造函数的问题
首先推荐以下下面的一篇博客: http://blog.csdn.net/my_dream_fly/article/details/3857887 本来也比较好奇,自己写构造函数总是定义public形式 ...
随机推荐
- C#基础之IL
1.实例解析IL 作为C#程序员,IL的作用不言而喻,首先来看一个非常简单的程序和它的IL解释图,通过这个程序的IL指令来简单的了解常见的IL指令是什么意思. class Program { stat ...
- grootJs的vm结构
按看这段代码生成的vm groot.view("myview", function (vm, ve) { vm.say = "hello word!"; }) ...
- Java学习笔记(四)——google java编程风格指南(上)
[前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...
- Sublime Text 3使用参考手册
什么是Sublime Text? Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器.Sublime Text是 ...
- SequoiaDB 系列之三 :SequoiaDB的高级功能
上一篇简单描述了一下SequoiaDB的简单CRUD操作,本篇将讲述一下稍微高级点的功能. 部署在我机器上的集群环境,在经过创建名字为"foo"的cs,创建名字为"bar ...
- overlay-2
<script src="/jquery.js"></script><script type="text/javascript"& ...
- Photoshop之渐变工具使用
最上面两个游标控制不透明度 下面两个控制渐变位置 点击游标可以设置颜色 基于每个游标进行操作
- sphinx在c#.net平台下使用(一)
Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个可以结合MySQL,PostgreSQL全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.是做站内全文搜 ...
- FastDFS在.Net平台上的使用
上一篇,了解了FastDFS是什么东东,一般稍微大一的网站都会做文件分离存储,FastDFS这轻型的分布式文件存储方式,非常有用. 此图片截取博友(张占岭)的勿喷 下面我们就了解一下,FastDFS在 ...
- BZOJ-2324 营救皮卡丘 最小费用可行流+拆下界+Floyd预处理
准备一周多的期末,各种爆炸,回来后状态下滑巨快...调了一晚上+80%下午 2324: [ZJOI2011]营救皮卡丘 Time Limit: 10 Sec Memory Limit: 256 MB ...