zoukankan      html  css  js  c++  java
  • java——构造器理解

    构造器理解

    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 : 如果有不正确的地方,请指正!

  • 相关阅读:
    2020-03-12推荐阅读链接
    一问带你区分清楚Authentication,Authorization以及Cookie、Session、Token
    Alibaba-技术专区-开源项目之Nacos源码分析
    Alibaba-技术专区-开源项目之Nacos功能特性
    Alibaba-技术专区-开源项目之Nacos环境准备
    Java-技术专区-javaAgent(插桩,attach)
    SkyWalking 6.x 源码分析 —— 调试环境搭建 (非原创)
    SkyWalking 6.2-Docker-Compose搭建单体
    Zookeeper-技术专区-配置以及学习
    Java-技术专区-设计模式-reactor模式
  • 原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/12607046.html
Copyright © 2011-2022 走看看