构造器理解

  1. 什么是构造器

构造器也叫构造方法;用于对象的初始化

  1. 写构造器注意事项

构造器名与类名一致;有返回值但是不能定义返回类型(返回值类型是本类,可以加一个空的return);

  1. 构造器的调用

通过 new 关键字调用,从而返回类的实例自我理解成类里面的成员变量,因为C语言学惯了,总有点不适应

感悟:我也是通过1、2 段代码的对比理解了构造器

附上代码1:

  1. /**
  2. * 测试构造器(构造方法)
  3. * @author DREAM_yao
  4. * 本代码求两点之间的距离 p点与origin点
  5. */
  6. class Point{
  7. double x,y;
  8. public double getDistance(Point p) {
  9. return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
  10. }
  11. }
  12. public class TestConstructor {
  13. public static void main(String[] args) {
  14. Point p = new Point();/*创建一个 点(对象) */
  15. p.x=3;
  16. p.y=4;/*不用构造器,两点通过这种方式初始化*/
  17. Point origin = new Point();
  18. origin.x=0;
  19. origin.y=0;
  20. System.out.println(p.getDistance(origin));
  21. }
  22. }

附上代码2:

  1. /**
  2. * 测试构造器(构造方法)
  3. * @author DREAM_yao
  4. * 本代码求两点之间的距离 p点与origin点
  5. */
  6. class Point{
  7. double x,y;
  8. /*两种构造器写法*/
  9. /*public Point(double x,double y) {
  10. this.x=x;
  11. this.y=y;
  12. }*/
  13. public Point(double _x, double _y) {
  14. x = _x;
  15. y = _y;
  16. }
  17. public double getDistance(Point p) {
  18. return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
  19. }
  20. }
  21. public class TestConstructor {
  22. public static void main(String[] args) {
  23. Point p = new Point(3.0,4.0);/*通过将参数传过去,初始化*/
  24. Point origin = new Point(0.0,0.0);
  25. System.out.println(p.getDistance(origin));
  26. }
  27. }

构造器(构造方法的重载)

  • 跟方法的重载一样,所有构造器名与类名一致,只是参数的数量不同.
  • 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。
  • 总之就是让编译器能分辨出来该与哪个方法匹配就ok啦

DREAM_yao : 如果有不正确的地方,请指正!

java——构造器理解的更多相关文章

  1. Java初始化理解与总结 转载

    Java的初始化可以分为两个部分: (a)类的初始化 (b)对象的创建 一.类的初始化 1.1 概念介绍: 一个类(class)要被使用必须经过装载,连接,初始化这样的过程. 在装载阶段,类装载器会把 ...

  2. Java IO 理解流的概念

    Java IO 理解流的概念 @author ixenos 在理解流时首先理解以下概念 1.流的来源和去向一般在构造器指出 2.方法中的形参一般是将流输出到某个位置,读取(INPUT)流从流读出数据( ...

  3. Effective Java通俗理解(持续更新)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

  4. Effective Java通俗理解(下)

    Effective Java通俗理解(上) 第31条:用实例域代替序数 枚举类型有一个ordinal方法,它范围该常量的序数从0开始,不建议使用这个方法,因为这不能很好地对枚举进行维护,正确应该是利用 ...

  5. Effective Java通俗理解(上)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

  6. Java构造器浅析

    Java构造器 问题引出 1.先看一段简单创建对象的例子: public class constructTest { public static void main(String[] args) { ...

  7. [java] 深入理解内部类: inner-classes

    [java] 深入理解内部类: inner-classes // */ // ]]>   [java] 深入理解内部类: inner-classes Table of Contents 1 简介 ...

  8. scjp考试准备 - 7 - Java构造器

    题目——如下代码的执行结果: class Hello{ String title; int value; public Hello(){ title += " World!"; } ...

  9. 从Java视角理解CPU上下文切换(Context Switch)

    从Java视角理解系统结构连载, 关注我的微博(链接)了解最新动态   在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快 ...

随机推荐

  1. 7——PHP选择结构

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  2. IP 数据报

    IP 数据报 1.IP 数据报的格式 一个 IP 数据报由首部和数据两部分组成.(数据报也可以说是数据包) 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的. 在首部的固定部分 ...

  3. c++获取屏幕大小

    API: 要取得屏幕大小,可以用下面几个函数: # include <windows.h>int cx = GetSystemMetrics( SM_CXFULLSCREEN ); int ...

  4. pc端适配移动端

    pc端和移动端共用一套代码 1. 允许网页宽度自动调整 在网页代码的头部,加入一行viewport元标签 <meta name="viewport" content=&quo ...

  5. echarts优化数据视图dataView中的样式

    在使用echart过程中,toolbox里有个dataView视图模式,里面的数据没有对整,影响展示效果,情形如下:改问题解决方案为,在optionTocontent回调函数中处理,具体代码如下: t ...

  6. display的block、none、inline属性及解释

    常会用到display对应值有block.none.inline这三个值 参数: block :块对象的默认值.用该值为对象之后添加新行.之前也添加一行. none :隐藏对象.与visibility ...

  7. 使用EventBus + Redis发布订阅模式提升业务执行性能(下)

    前言 上一篇博客上已经实现了使用EventBus对具体事件行为的分发处理,某种程度上也算是基于事件驱动思想编程了.但是如上篇博客结尾处一样,我们源码的执行效率依然达不到心里预期.在下单流程里我们明显可 ...

  8. I - A计划 HDU - 2102

    A计划 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  9. 使用NPOI将Excel表导入到数据库中

    public string ExcelFile() { //指定文件路径, string fileName=@"d:\Stu.xls"; //创建一个文件流,并指定其中属性 usi ...

  10. 使用ajax提交登录

    引入jquery-1.10.2.js或者jquery-1.10.2.min.js 页面 <h3>后台系统登录</h3> <form name="MyForm&q ...