2022时政热点事件,2022最新时事新闻热点汇总
2022-11-13
更新时间:2023-01-18 22:18:16作者:51data
/* * *构造方法详解*声明构造方法的格式是当前类的名称(形参表){语句块} *构造方法被new调用*方法操作后的对象不能改变,返回值的类型不能定义*如果没有定义构造方法,默认构造方法是类名(){}两个括号都为空。调用new时,对象将被不加改变地操作并直接返回对象*/public class point { public void set(int a,int b){ x=a;y=b;} public void print(){ system . out . println('(' x '' y '));}公共静态void main(String[]args){ Point a=new Point();//通过new调用构造函数Point()。构造函数不是在类中手动定义的,默认方法中的(){}为空,只返回默认对象。//点a占用4 bytes a的4个字节用于引用类型保存对象的地址a . print();a.set(3,5);a . print();}}class Point1 { double x,y;public Point1(double _x,double _ y){ x=_ x;y=_ y}//手动定义构造方法,设置参数_x _y,将这两个的值赋给x y public double getDistance(Point1p){//定义求距离的方法,get distance返回double distance。//在方法中,()定义参数p p是point1类的对象,double d=math . sqrt((x-p . x)*(x-p .//math . sqrt square百度搜索java平方根运算//其中x y是程序中实际使用调用命令调用方法getDistance的对象的x y。//用实际对象的x y和参数p的p.x p.y运算返回d;} public static void main(String[]args){ point 1 a=new point 1(3,5);//new调用构造方法。构造方法中的(3,5)对应于(_x,_y)参数。//构造方法将对象的x,y初始化为3。5 //每次执行方法,都会在栈栈中打开一个栈帧。在这里调用构造函数打开Point1 ()/*的堆栈框架,方法的构造是创建对象的第三步。第一步是创建一个全缺省对象x y全缺省值。第二步是初始化xy。如果类中定义了double x=7.0,第二步是将x从默认的0初始化为7.0。第三步是在调用构造方法时生成对象的地址。这将构造方法的参数3。5 this.x this.y赋给对象因为构造方法中的x y没有专门给其他对象命名,所以默认的x y是指this.x this.y给当前正在构造的对象赋3,5。构造方法执行后,该方法的堆栈框架从stack stack */system . out . println(a . x '' a.y ')中消失;Point1 b=新的Point1(5,6);/*第一步是创建一个新对象。对象的X-Y默认值为0。第二步是初始化对象的X-Y类。x=y=所以跳过第三步,调用构造方法打开堆栈中Point1()的堆栈框架。在方法中根据操作构造方法Point1的语句块中设置的实参(5,6)将当前正在构造的对象的地址赋给this,将5赋给this.x,将6赋给this.y返回对象构造方法,栈帧从栈栈中消失。第四步,将新对象的地址赋给引用类型b */double d=a . get distance(b);//a是调用方法(B)的主体,实参B的5,6对应Point1 p形参的p.x,p.y。//也就是用主体A的3,5和自变量B的5,6来操作。/调用getDistance()方法打开堆栈中的一个堆栈帧,执行后消失。//用这个。当主体A的地址赋给方法的this //操作时。} //main方法结束堆栈帧main()消失}