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

  • 相关阅读:
    const void *a 与 void *const a 的差别
    unity中的MonoBehaviour.OnMouseDown()
    ZooKeeper场景实践:(2)集中式配置管理
    也谈測试核心竞争力
    关于静态与动态编译arm平台程序的比較
    使用Nexus搭建企业maven仓库(二)
    cocos2dx手写js绑定C++
    HDU2037 今年暑假不AC 【贪心】
    Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
    Android的NDK开发(1)————Android JNI简介与调用流程
  • 原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/12607046.html
Copyright © 2011-2022 走看看