实验3 Java类与对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三类与对象

一、实验目的

1、掌握类和构造方法的定义

2、理解静态和非静态成员变量的区别

3、掌握创建类实例的方法

4、理解Java中包的概念及其使用方法

二、实验要求

1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width 和height都是double型的,而color则是String类型的。要求该类具有:

(1)使用构造函数完成各属性的初始赋值

(2)使用getter和setter的形式完成属性的访问及修改

提供计算面积的getArea()方法

public class mianji {

private double height;

private double width;

private String color;

public double getHeight() {

return height; }

public void setHeight(double height) {

this.height = height; }

public double getWidth() {

return width; }

public void setWidth(double width) {

this.width = width; }

public String getColor() {

return color; }

public void setColor(String color) {

this.color = color; }

public mianji(double width,double height,String color){ this.setColor(color);

this.setHeight(height);

this.setWidth(width); }

public void getArea(){

double area=0;

area=this.height*this.width;

System.out.println("矩形的面积为"+area); }

public String toString(){

String recStr="矩形的高度:"+this.getHeight()

+"宽度:"+this.getWidth() +"颜色:"+this.getColor();

return recStr; }

public static void main(String[] args) {

mianji rec=new mianji(3, 4, "红色");

rec.getArea();

System.out.println(rec.toString());}

}

2. 运行以下两个程序,分析结果(从形参和实参传递在传递基本类型和引用类型时的差异来分析)

(1)

class TestReference{

public static void main(String[] args){

int x=2;

TestReference tr = new TestReference();

System.out.print(x);

tr.change(x);

System.out.print(x);

}

public void change(int num){

num = num + 1;

}

}

(2)

public class Foo {

public static void main (String [] args) {

StringBuffer a = new StringBuffer (“A”); //创建一个字符串,内容为A

StringBuffer b = new StringBuffer (“B”);

operate(a,b);//调用了Foo类的一个类方法

System.out.printIn(a + “,” +b);

}

static void operate (StringBuffer x, StringBuffer y) {

x.append(y); //将在x后连接字符串y

y = x;

}}

答:当你在定义一个方法的时候,比如void setter(int i){};其中的参数i就是形参形参是这个方法的局部变量只能在方法体中使用当你调用这个方法的时候,比如setter(a);此时a就是实参实参a把他的值传递给形参i基本数据类型实参传递给形参的是值对象实参传递给形参的是对象的引用

3.运行以下程序(注意包的建立与使用)

(1)编辑Calculate.java,设保存在D:\myjava目录下。

package mypackage;

public class Calculate{

private int a;

public Calculate(int a)

{this.a=a;System.out.println(“from constrartion”+this.a);}

public double volume(double height,double width,doule depth)

{ return height*width*depth; }

int add(int x, int y) { return x+y; }

protected void a()

{ System .out.println(“from constration”+a); }

}

相关文档
最新文档