欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对象的创建,内存模型,使用。写圆类,计算半径10和15的两个圆的面积和周长

程序员文章站 2022-04-10 14:09:09
...

一.对象的概念:
有类所定义的变量就是对象。
对象虽然是变量,但是对象型的变量不同于简单变量,对象中除了有数据外,对象本身还有行为。
二.对象的创建与表示:
一般地,对象的创建通过三个步骤
a.声明对象名
声明对象名的形式是:
类名 对象名;
声明一个Circle类的对象
Circle a;
b.创建对象
new运算符后跟构造方法就可以创建对象。创建对象的形式是:
new 构造方法(【实际参数】)
如果定义构造方法时,构造方法有参数,则调用构造方法还需给出实际参数,例如创建一个Circle类的对象,可用表达式:
new Circle();
c.表示对象
将声明对象和创建对象通过赋值形式结合在一起,就可以表示创建的对象。
对象的表示形式是:
对象名=new 构造方法();
例如:a=new Circle();
对象名“a”表示对象“new Circle()”。
对象的声明和创建可以用一条语句实现。
Circle a=new Circle();
可以同时声明多个对象:
Circle a=new Circle() , b=new Circle();
每一次使用“new Circle()”都创建一个全新的对象,与其他对象完全不同,a和b表示的对象是两个完全不同的对象。
三.对象的内存模型
语句:
Circle a;
是一个对象名,也是一个变量名,并不是一个真正的对象。
而表达式:
new Circle();
是真正的对象,但是它没有名字,无法使用这个对象。它占用内存,并且整个表达式的值是该对象在内存中的地址。
则赋值表达式:
a=new Circle();
是将对象的地址保存在对象变量a中。访问对象变量a就可以得到对象在内存中的位置,从而访问到这个对象。
四.对象的使用
使用对象时只能通过对象名访问对象中的成员,而不能整体使用对象。
使用对象中的域
对象名.域
使用对象的方法
对象名.方法名(【实际参数表列】)

//写圆类,计算半径10和15的两个圆的面积和周长
class Circle{
 double radius;  //域(属性),半径
 //没写构造方法,系统默认了无参的构造方法
 void setRadius(double r) {
  radius=r;
 }
 double area() {
  return Math.PI*radius*radius;
  //Math是java中的一个类,其静态域PI表示圆周率
 }
 double perimeter(){
  return 2*Math.PI*radius;
 }
}
public class Example9{
 public static void main(String[] args) {
  double area,perim;
  Circle circle=new Circle();//声明和创建对象
  circle.setRadius(10);//设置圆半径
  area=circle.area(); //计算圆的面积
  perim=circle.perimeter();//计算圆的周长
  System.out.printf("area:%.2f%n",area);//保留两位小数
  System.out.printf("perimeter:%.2f%n",perim);
  
  circle=new Circle();//创建新对象,原对象丢失
  circle.setRadius(15);
  area=circle.area();
  perim=circle.perimeter();
  System.out.printf("area:%.2f%n",area);//保留两位小数
  System.out.printf("perimeter:%.2f%n",perim);
 }
}
相关标签: 对象