知识大全 Java 封闭之构造函数
Posted 函数
篇首语:赋料扬雄敌,诗看子建亲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java 封闭之构造函数相关的知识,希望对你有一定的参考价值。
Java 封闭之构造函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
构造函数构造函数是什么?
在堆内存中创建对象的时候 对象均需要初始化 初始化的动作就有构造函数来实现 事实上 每个类在创建对象且初始化的时候均调用了一个 隐式构造函数 用户在程序若重写声明构造函数则是 显式构造函数 JVM在执行的时候则以用户定义的构造函数为主
构造函数特点:
< >函数名必须与类名保持一致
< >没有类型定义 即是没有void int String 类类型等等数据类型的修饰
< >不可存在return语句
< >可以通过 方法重载 的方式来区别不同对象的初始化方式
比如Person类 对象的初始化就如 刚刚诞生的婴儿那般 有的婴儿出生前还没有取好名字 但出生后称了体重;有的出生前已经取好了名字 且出生后也称了体重 但是不管怎么样 婴儿都是哭着来到这个世界的 所以都共同拥有一个方法cry()
class Person private String name; //姓名 private int weight; //出生体重 private int order; //编号 //不取名字 也不称重 Person() System out println( Order: + order + do nothing! ); cry(); //取好名字未称体重 Person(int order String name) System out println( Order: + order + Name is: + name); cry(); //未取名字 但称体重 Person(int order int weight) System out println( Order: + order + Weight is: + weight+ Kg ); cry(); //取了名字 称了体重 Person(int order String name int weight) System out println( Order: + order + Name is: + name + Weight is : + weight + Kg ); cry(); //但是都是哭着来的 void cry() System out println( Crying when birth! ); public static void main(String[] args) Person child = new Person(); System out println( 华丽的分割线 ); Person child = new Person( Smith ); System out println( 华丽的分割线 ); Person child = new Person( ); System out println( 华丽的分割线 ); Person child = new Person( John ); /*运行结果如下: Order: do nothing! Crying when birth! 华丽的分割线 Order: Name is: Smith Crying when birth! 华丽的分割线 Order: Weight is: Kg Crying when birth! 华丽的分割线 Order: Name is: John Weight is : Kg Crying when birth! */上面的代码 描述了构造函数的基本特点 一个空参数的构造函数和三个带有不同参数变量的构造函数 在实例化对象的时候便有了不同的实现方式
构造函数出现的时机:
在定义类的时候 分析现实世界中具体事物的时候 若该事物存在或者具备一些特性或者行为 那就将这些内容定义到构造函数中 如例子中的婴儿 具有的特性就是体重等一些生理指标和名字标示符 行为动作就是出生后先哭
构造代码块
是将重载的构造函数中所具有的共同的功能或者特性再次抽取出来 放在一起执行
格式 在程序中写一对大括号 即可 与构造函数具有同样的域范围即可 然后将共有的特性抽取到括号内 比如cry(); 注下面程序中红色部分
并且是先于构造函数执行的 可以参考下面代码执行的结果
如下面的代码
class Person private String name; //姓名 private int weight; //出生体重 private int order; //编号 //构造代码块 cry(); //不取名字 也不称重 Person() System out println( Order: + order + do nothing! ); //取好名字未称体重 Person(int order String name) System out println( Order: + order + Name is: + name); //未取名字 但称体重 Person(int order int weight) System out println( Order: + order + Weight is: + weight+ Kg ); //取了名字 称了体重 Person(int order String name int weight) System out println( Order: + order + Name is: + name + Weight is : + weight + Kg ); //但是都是哭着来的 void cry() System out println( Crying when birth! ); public static void main(String[] args) Person child = new Person(); System out println( 华丽的分割线 ); Person child = new Person( Smith ); System out println( 华丽的分割线 ); Person child = new Person( ); System out println( 华丽的分割线 ); Person child = new Person( John ); /*执行结果如下: Crying when birth! Order: do nothing! 华丽的分割线 Crying when birth! Order: Name is: Smith 华丽的分割线 Crying when birth! Order: Weight is: Kg 华丽的分割线 Crying when birth! Order: Name is: John Weight is : Kg */ cha138/Article/program/Java/hx/201311/27044相关参考
Java中的构造函数继承 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 专家读书笔记希望能够对大
类有一个特殊的成员函数叫做构造成员函数它通常用于初始化类的数据成员在创建对象时会自动调用类的构造成员函数Java中的构造成员函数必须与该类具有相同的名字另外构造成员函数一般都应用public类
实例解析C++/CLI之静态构造函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!就某些类而言当在
类构造函数 本节将讨论三种类构造函数 类构造函数的类型 注释 实例 用于创建并初始化类的实例 私有 在类之外不可访问的特殊类型实例构造函数无法用私有构造函数来实例化类 静态 在创
C++中是不允许virtual构造函数的如果在构造函数前加virtual 以vc为例编译器报错为inlineistheonlylegalstorageclassforconstructors
知识大全 JS特殊函数(Function()构造函数、函数直接量)区别
JS特殊函数(Function()构造函数、函数直接量)区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
知识大全 编写类String 的构造函数、析构函数和赋值函数
编写类String的构造函数、析构函数和赋值函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!已知
C#中构造函数和析构函数的用法(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要 构造
C#默认构造函数的作用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 构造函数主要用来初始化对象
C#中构造函数和析构函数的用法(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 声明了一个类