java_12、面向对象03_构造方法(构造器)

一、构造方法

构造器,又称为构造方法。(类中,只有“属性”或者“方法”这两种东西,而构造方法也属于方法,只不过比较特殊)

一般方法,通过对象来调用(object.method)。而构造方法在调用的时候,还没有对象呢(用来构造器以后才有的实例 对象)。

对于上面的几点,逐条解释:

  • 通过new关键字调用。
    首先,因为构造方法也是一个方法,所以也是需要调用的,比如,定义好Car类以后,现在想要构造一个新的实例,就需要调用这个构造器。
  • 第三点解释
    之前课程中,我们在定义类的时候,没有定义构造方法,但是不代表没有,系统会自动定义。(当你在类中定义了以后,系统就不会自动定义了)
    比如上面的Car类中,没有定义Car构造方法的时候,用new 调用,仍然能够调用构造方法。

  • 第二点解释:
    注意构造方法的格式,修饰符后面是没有返回值类型的。不能用void,也更不能用int什么的。

此时,如果用new 调用Car构造方法,就会建立一个实例,并且输出代码中的字符串。

二、示例

代码示例:

package cn.bjsxt.oop;

import javax.swing.text.html.MinimalHTMLWriter;

public class Point {
    double x,y,z;
    //构造方法,可以帮助我们初始化对象属性,传入参数,
    //最好不要跟上面的变量重名,防止歧义
    public Point(double _x,double _y,double _z){ //构造器中,是不用返回值的
        x = _x;
        y = _y;
        z = _z;
    }

    //设置三个点的坐标.
    public void setX(double _x){
        x = _x;
    }
    public void setY(double _y){
        x = _y;
    }
    public void setZ(double _z){
        x = _z;
    }
    
    // 计算距离,需要有返回值了.
    //因为要计算两点之间的距离,因此对于这个方法需要传入一个形参,等会传入实参计算
    public double distance(Point p){
        return Math.sqrt((x-p.x)*(x-p.x) + (y-p.y)*(y-p.y) + (z-p.z)*(z-p.z));
    }
    
    public static void main(String[] args){
        Point p = new Point(3,4,8);
        Point p2 = new Point(1,1,1);
        //对p调用计算距离的dist方法,传入p2,即可
        System.out.println(p.x);
        System.out.println(p.distance(p2));
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,001评论 2 9
  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 6,450评论 0 6
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,946评论 0 62
  • 昨日离开淄博离开两位发小+闺蜜时还有点细雨蒙蒙,真是天意!别离总是如此不舍如此难舍,相聚的时间总是很短暂,...
    快乐天使_快乐飞翔阅读 2,773评论 0 0
  • 那次炎热夏天中的对话,让我感悟到了至今难忘的道理。 大赛将近,再加夏天的闷热,令我的心情十分地不畅快,...
    唐渺阅读 4,206评论 10 9

友情链接更多精彩内容