面向对象编程
对象三要素:
属性;方法;事件
构造器:
对内存空间进行初始化,每个类必须有构造器
1、名字必须与类名相同;2、不能哟返回类型;3、无参构造器称为默认构造器;4、若一个类没有构造器,则编译器生成一个默认构造器。
例题:
//求两点之间的距离,点之间的移动
public class Point{
double x.y;
public double getDistance(Point p){
return Math.sqrt((this.x-p.x)*(this.x-p.x)+
(this.y-p.y)*(this.y*p.y));
}
public Point moveTo(double x,double y){
return new Point(x,y);
}
}
//定义构造器
public Point(double x,double y){
this.x=x;
this.y=y;
}
//在构造器中使用this(...)来调用另一个构造器
public Point(){
this(0,0);//调用Point(x,y)
}
public Point(double x){
this(x,0);
}
引用变量的定义:
Point p1,p2;
p1,p2为引用变量,存的是地址(相当于C/C++C指针)
注意:sizeof(p1)!=sizeof(Point)
生成对象:
p1=new Point(1,2);
对象的输出(对象的字符串表示):
1、任何对象均可以转成字符串
2、重写父类(操作方法:右击->source->重写父类)
回调方法:只负责代码内容,调用时机由系统负责
public String toString(){
return "("+this.x+","+this.y+")"
}
public static void main(String []args){
...
System.out.print(" "+p1);//p1调用toString()
}
回收内存(C/C++强烈反对)
p1=NULL;