• 构造方法是一种特殊的方法,它是一个与类同名且无返回值类型(连void也不能有)的方法。
  • 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化
  • 当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
  • 构造方法分为两种:无参构造方法 有参构造方法
  • 类中必定有构造方法,若不写,系统自动添加无参构造。(接口不能被实例化,所以接口中没有构造方法。)

实例演示:计算坐标点的距离

实体类Point代码:

 public class Point {

     // 点的属性 横纵坐标
int x;
int y; // 默认无参构造器
public Point(){
System.out.println("默认构造。");
} // 有参构造1
public Point(int a,int b){
System.out.println("有参构造。");
// 给对象赋值
x = a;
y = b;
}
// 有参构造2(重载)
public Point(int a){
// System.out.println();
this(a,a); // 重载 调用上面的有参构造1(此语法专门用来构造方法间调用,必须写在构造方法的第一行)
} /**
* 点距离的计算方法
* 参数分别为:无参 点坐标 点对象
* 方法重载
*/
public double distance(){ // 无参
return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2)); // 到原点的距离
} // 到某个点的距离
public double distance(int a, int b){ // 参数为点坐标
return Math.sqrt(Math.pow(this.x-a, 2)+Math.pow(this.y-b, 2));
} public double distance(Point p){ // 参数为点对象
return distance(p.x, p.y);
} }

Demo:

 public class PointDemo {
public static void main(String[] args) { Point p1 = new Point(3,2);
System.out.println("p1的坐标是:" + "(" + p1.x + "," + p1.y + ")"); Point p2 = new Point(5);
System.out.println("p2的坐标是:" + "(" + p2.x + "," + p2.y + ")"); /**
* 求点到点的距离
*/
Point p = new Point(6,8);
System.out.println("到原点的距离为:" + p.distance()); // 到原点的距离
System.out.println("到另一个点的距离为:" + p.distance(3, 3)); // 到(3,3)的距离
System.out.println("到某个点对象的距离为:" + p.distance(p2)); // 到点对象p2的距离
}
}

输出为:

    有参构造。
    p1的坐标是:(3,2)
    有参构造。
    p2的坐标是:(5,5)
    有参构造。
    到原点的距离为:10.0
    到另一个点的距离为:5.830951894845301
    到某个点对象的距离为:3.1622776601683795

Java基础之构造方法及其应用的更多相关文章

  1. Java基础—String构造方法

    Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...

  2. java基础知识 构造方法

    在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...

  3. Java基础-8构造方法

    一).构造方法: 在之前我们提到对象的概念以及对象的实例化等,在这里简单回顾下: Man man = new Man(); 语句创建一个对象,new可以理解成创建一个对象的关键字,通过new关键字为对 ...

  4. java基础(12):构造方法、this、super

    1. 构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方 ...

  5. 【BigData】Java基础_构造方法的使用

    需求描述 实现上图需求,根据输入的三个人的信息,分别计算出这个三个客户的平均年龄和最大年龄 涉及知识点: ①构造方法 ②字符串切割 ③对象数组 代码实现 代码结构图: package cn.test. ...

  6. 【Java基础】构造方法调用构造方法

    从一个程序开始: class dog { private String name; private String color; private int age; dog(String name) // ...

  7. Java基础 - 面向对象 - 构造方法

    在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法.构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的.每当类实例化一个对象时,类都会自动调用构造方法. 构造方法的特点: 构 ...

  8. 【Java基础】构造方法 static 块 {}块 执行顺序

    package com.test.innerclass; public class HelloB extends HelloA { public HelloB() { System.out.print ...

  9. 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用

    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...

随机推荐

  1. 2017iOS开发最新的打包测试步骤(亲测)

    最近也是忙着修改项目,今天把最近遇到的问题和知识给大家分享一下. 有时候我们需要将我们的项目发给测试组进行bug测试,这时候我们就需要把自己的项目打包,生成一个二维码或者链接的形式,给测试组,接下来就 ...

  2. 【转】SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系 .

    相信大多数java初学者被这些概念搞蒙过,它们之间到底有什么区别,又有什么联系呢?下面我将一一解开大家心中的谜团. 首先,给大家解释一下这些概念: 1.SDK(Software DevelopKit, ...

  3. luogu 3383【模板】线性筛素数

    我太菜了 %韩神 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib&g ...

  4. 使用php实现二叉搜索树

    看到一位大神写的js的搜索树,自己也按照模式写了一个php的二叉搜索树. <?phpclass node{ public $data; public $key; public $left=nul ...

  5. 洛谷P1613 跑路(最短路+倍增)

    P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的 ...

  6. [Swift通天遁地]八、媒体与动画-(11)实现音乐播放的动态视觉效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. sql数据库中常用连接

    很简单的知识点,今天有点搞不清楚左外连接,右外连接:详见以下: --表stu id name 1, Jack 2, Tom 3, Kity 4, nono --表exam id grade 1, 56 ...

  8. Coursera公开课-Machine_learing:编程作业8(2016-10-06 20:49)

    Anomaly Detection and Recommender Systems 本周编程作业分为两部分:异常检测和推荐系统. 异常检测:本质就是使用样本的到特种值的gaussian分布,来预估正确 ...

  9. HeadFirst HTML&CSS

    CH1 认识HTML HTML和CSS是我们用来创建网页的语言:HTML是超文本标记语言(HyperText Markup Language)的缩写,用来建立网页的结构:CSS是层叠样式表(Casca ...

  10. fcc jQuery 练习

    在页面顶端增加一行script元素,然后写上结束符, 浏览器会运行script 里所有的Javascript,包括jQuery <script>$(document).ready(func ...