constructor;构造函数。

在创建对象的时候,对象成员可以由构造函数方法进行初始化。

new对象时,都是用构造方法进行实例化的;

例如;Test test = new Test("a");

//Test("a");其中这个就是构造函数,“a”为构造方法的形参;

构造方法的方法名必须与类名一样。

构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。

构造方法不能作用是完成对象的初始化工作,他能够把定义对象时的参数传递给对象的域。

构造方法不能由编程人员调用,而要系统调用。

构造方法可以重载,以参数的个数,类型,或排序顺序区分。

具体用法,代码实现。

1;单个构造函数方法;’

2;多个构造函数方法

(例子为;带参数与不带参数)

3;关于继承类的构造方法的调用;

先看事例;

我第一次看到结果的时候好惊讶的,怎么都调用了哈。看了知识点才知道。

在Subtine的主方法中只调用子类构造方法,实例化子类对象并且在子类构造方法中,没有调用父类的构造方法的任何语句。但是在实例化对象时,它相应的调用了父类构造方法,在结果中还可以看到调用构造方法的顺序,首先是顶级,再继续往下直达本身类。也就是说实例化子类的时候,要首先实例化父类对象,然后在实例化子类对象,所以在子类构造方法调用父类构造方法前,父类已经实例化了。

拓展一下。

package text_4_1;

public class Parent {

Parent(int a){//就是将无参数构造方法改成有参数的。

System.out.println("调用父类Parent构造方法" + a);

}

}

package text_4_1;

public class Subparent extends Parent{

Subparent(){

System.out.println("调用子类Subparent的构造方法");

}

}

package text_4_1;

public class Subtine extends Subparent{

Subtine(){

System.out.println("调用子类Subtine构造方法");

}

}

package text_4_1;

public class Main {

public static void main(String[] args){

Subtine subtine = new Subtine();

}

}

这样的代码将会报错;//就是将父类Parent类无参数构造方法改成有参数的。

Implicit super constructor Parent() is undefined. Must explicitly invoke another constructor

//隐式的超级构造函数()是未定义的。必须显式地调用另一个构造函数

意思就是在子类调用构造函数时,必须先调用父类构造函数,因为无参数的构造函数,编译器会自动调用,也就是第一种情况不会报错。但是有参数的,就必须要利用Super的方法来调用。如果不进行调用那么将会报错。

将Subparent类改成。

package text_4_1;

public class Subparent extends Parent{

Subparent(){

super(5);//调用了其父类就不会报错了。

System.out.println("调用子类Subparent的构造方法");

}

}

//备注一下,调用父类构造方法就是;super();//就ok了。

还补充一点,关于构造方法的可扩展性;

查看过源码的应该都发现过jdk的编码人员会在一个类中建立多个构造方法;然而他的作用就是提高可扩展性;

这么多构造方法,他们之间并且还有联系;通过this()来调用自己类的其他构造方法,来减少代码的复制,增大程序的可读性;

至于怎么来进行封装;举个例子;

构造方法的可扩展性就表示在这里;

可以多多个构造方法;根据不同的参数决定调用哪个;带来很大的可扩展性

刚试了一下notepad++;然而直接爆出中文乱码,搞了好久才搞清楚;

原因是;国标码和ANSI之间的不兼容;

因为刚学,有什么不足的后期补上。

望路过的大神,指点一二。

java类构造_Java中类的构造方法相关推荐

  1. java 类隔离_Java类装载体系中的隔离性

    正文 Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前,这并 不是什么丢脸的事情,相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯 ...

  2. java 类 解析_Java类详解

    1 //package 语句 声明 类的位置,会建立相应的文件夹,存放类2 //package 包名; 只能有一条,不能写多个 3 packageorg.java;4 5 //import 语句6 / ...

  3. java 类文件_Java类文件概述

    所谓 Java 类文件,就是通常用 javac 编译器产生的 .class 文件.这些文件具有严格定义的格式. Java 源文件经过 javac 编译器编译之后,将会生成对应的二进制文件(如下图所示) ...

  4. java类编译_java类编译过程

    title: java类加载系列之---类编译揭秘 date: 2018-07-17 11:48:02 category: 原创 tags: [Java,Java类编译加载执行专题] 本文为java类 ...

  5. java 类交互图_Java与UML交互图

    前面我们主要讨论的是UML类图,下面我们要讨论的是另一种UML图--交互图(Interaction Diagram).交互图描述的是一组对象之间的交互过程,或者说,这里我们实际上要回答这样一个问题:& ...

  6. java类描述_java笔记2:Java语言中的类和对象的描述

    在Java 语言中,除8 个基本数据类型值之外, 一切都是对象,而对象就是面向对象程序设计的中心. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还 ...

  7. java 类编译_Java类编译、加载、和执行机制

    Java类编译.加载.和执行机制 标签: java 类加载 类编译 类执行 机制 0.前言 个人认为,对于JVM的理解,主要是两大方面内容: Java类的编译.加载和执行. JVM的内存管理和垃圾回收 ...

  8. java声明对象_Java中类的声明与对象创建

    类是一个模板,它描述一类对象的行为和状态:对象是类的一个具体的实例,由类构造对象的过程称为创建类的实例.如:路灯是一个类,每一个路灯就是该类的对象. 1.类声明 类声明格式 [public] [abs ...

  9. java arraylist 构造_Java基础五:构造方法、ArrayList

    Java的构造方法 面向对象:属性和方法,当对象被创建的时候,构造方法用来初始化该对象,给对象的成员变量赋初始值 构造方法的格式: 修饰符 构造方法名(参数列表){方法体} 写法: 1.方法名与他所在 ...

最新文章

  1. “我求你们不要再给我打电话了,我不炒股!”
  2. vim学习手册-10后序
  3. 【ubuntu-qt-dlib】 配置问题 (一) undefined reference to `XPending'
  4. mysql受影响的行 0_为什么更新/删除成功时受影响的行返回0?
  5. excel记账本模板_原来这才是老板最喜欢看的财务报表!这些模板送你,录入自动生成...
  6. 压缩js和css, IIS开启Etags, IIS开启Gzip
  7. There is 和 There are的使用_28
  8. c#如何实现叫号操作_C#银行排队叫号系统
  9. html 重复执行函数,javascript延时重复执行函数 lLoopRun.js
  10. Phase2 Day22 JDBC
  11. 安装imageai,tensorflow
  12. 微信小程序项目实例SSM在线考试管理系统+后台
  13. ios开发——实用技术篇Block/KVO/通知/代理
  14. 以太坊bloom和logs及代码解析
  15. 1-JVM之Java运行时数据区域
  16. 高精度结构光工业3D相机Mech-Eye PRO全面升级:可选蓝光/白光版本,适合中距离应用...
  17. python绘制饼图的如何设置高度宽度_python 用 matplotlib 饼图参数详解 plt.pie()
  18. iPad 上有哪些实用得令人惊艳的 App?
  19. 第159天:前端知识体系框架
  20. python同时满足两个条件_「小白学Python」3分钟掌握Python条件语句if

热门文章

  1. 编译阶段输出宏定义的值
  2. OPNET Modeler 软件编辑器的简单介绍
  3. 将QT标准对话框由英文显示为中文
  4. 机器学习-----K-Means
  5. 硕士毕业后论文需要抽检吗?
  6. 智慧城市多杆合一智能路灯基础设施改造特点
  7. 没事儿就学习(5):快速排序(Fortran)
  8. 访问OSS图片,返回状态码 Code UserDisable?
  9. 一步实现VOS与VOS平台之间的动态注册
  10. multiple definition of `‘