构造器理解

  1. 什么是构造器

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

  1. 写构造器注意事项

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

  1. 构造器的调用

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

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

附上代码1:

/**
* 测试构造器(构造方法)
* @author DREAM_yao
* 本代码求两点之间的距离 p点与origin点
*/
class Point{
double x,y;
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
} }
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point();/*创建一个 点(对象) */
p.x=3;
p.y=4;/*不用构造器,两点通过这种方式初始化*/
Point origin = new Point();
origin.x=0;
origin.y=0;
System.out.println(p.getDistance(origin));
}
}

附上代码2:

/**
* 测试构造器(构造方法)
* @author DREAM_yao
* 本代码求两点之间的距离 p点与origin点
*/
class Point{
double x,y;
/*两种构造器写法*/
/*public Point(double x,double y) {
this.x=x;
this.y=y;
}*/
public Point(double _x, double _y) {
x = _x;
y = _y;
}
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point(3.0,4.0);/*通过将参数传过去,初始化*/
Point origin = new Point(0.0,0.0);
System.out.println(p.getDistance(origin));
}
}

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

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

    import requests # GET r = requests.get('https://api.github.com/events') # POSTr = requests.post('htt ...

  2. iOS技术提升方向

    技术维度: 认知维度:

  3. Win10系统下安装tensorflow(cpu)+keras+jupyter notebook运行环境

    记录,自用 1.安装Anaconda(这里安装的是python3.6版本) 2.创建tensorflow的conda环境 conda create -n tensorflow python=3.6 3 ...

  4. SpringBoot图文教程15—项目异常怎么办?「跳转404错误页面」「全局异常捕获」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-Spr ...

  5. Block as a Value for SQL over NoSQL

    作者 Yang Cao,Wenfei Fan,Tengfei Yuan University of Edinburgh,Beihang University SICS, Shenzhen Univer ...

  6. django 引入静态文件(前端样式等)

    1.首先在主项目目录下settings.py文件中添加如下代码 2.然后在主项目目录,app项目同级目录下新建static文件夹并在文件夹中新建css文件夹,用于存放css文件,如下: 3.前端渲染时 ...

  7. 为企业提供存储功能的Red Hat Stratis 2.0.1发布了

    导读 Red Hat的Stratis存储项目用于在Linux上提供企业存储功能,以与ZFS和Btrfs之类的产品竞争,同时在LVM和XFS之上构建,这是其2020年守护进程的首次更新. 通过Strat ...

  8. JVM笔记-Java技术体系与JVM概述

    1. 简述 Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系. Java 的广告词为 "一次编写,到处运行",之所以能够做到"跨平台&quo ...

  9. Antd 表格内通过rowClassName实现隔行变色的显示方法(转载)

    ant design中 table组件很方便,在项目中遇到了需要实现奇偶行颜色不同以方便阅读的功能,主要用到了rowClassName这一api,通过判断index的奇偶来实现不同的样式分配. row ...

  10. Flask-Sockets实时的监控画面

    Ajax轮询是通过特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器.这种简单粗暴模式有一个明显的缺点,就是浏览器需要不断的向服务器发出请求,H ...