java用两种构造器_java_12、面向对象03_构造方法(构造器)

一、构造方法

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

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

a6b115ee8b61

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

通过new关键字调用。

首先,因为构造方法也是一个方法,所以也是需要调用的,比如,定义好Car类以后,现在想要构造一个新的实例,就需要调用这个构造器。

a6b115ee8b61

第三点解释

之前课程中,我们在定义类的时候,没有定义构造方法,但是不代表没有,系统会自动定义。(当你在类中定义了以后,系统就不会自动定义了)

比如上面的Car类中,没有定义Car构造方法的时候,用new 调用,仍然能够调用构造方法。

第二点解释:

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

a6b115ee8b61

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

二、示例

a6b115ee8b61

代码示例:

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));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值