JAVA 类与对象

一、类

1、类的定义

    类就是把数据与相关功能封装在一起,形成一种特殊的数据结构

2、类的特点

(1)类是对象的类型

(2)具有相同属性和方法的一组对象的集合。

(3)同一个Java程序内,若定义了多个类,则最多只能由一个类声明为public,在这种情况下,文件名必须与声明称public的类名称相同

3、对象的属性:

    对象具有的各种特征。

4、对象的方法:

    对象执行的操作(能干什么)。

5、类和对象的关系

    类是抽象的概念,仅仅是模板。而对象是一个具体实体。

 

二、定义类

1、类的一般结构

 

三、对象的创建与使用

1、创建对象

(1)声明指向由类所创建对象的变量

(2)利用new运算符创建新的对象,并指派给前面所创建的变量

例如,创建圆柱类Cylinder的对象,可用下列语法创建:

Cylinder volu ;   //声明指向对象的变量
volu = new Cylinder();  //创建对象

 也可合并为一句

Cylinder volu = new Cylinder();  //声明并创建新的对象,并让volu指向该对象

2、对象使用

对象名.对象成员

通过这种引用可以访问对象的成员,也可获取和修改类中成员变量的值

class Cylinder {
    double radius;
    int height;
    double pi = 3.14;

    void area() {
        System.out.println("area = " + pi * radius * radius);
    }

    void volume() {
        System.out.println("volume = " + pi * radius * radius * height);
    }
}

public class demo1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Cylinder volu ;   //声明指向对象的变量
        volu = new Cylinder();  //创建对象
        volu.radius = 2;
        volu.height = 3;
        volu.area();
        volu.volume();
    }
}

3、参数传递

public class demo1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Cylinder volu ;   //声明指向对象的变量
		volu = new Cylinder();  //创建对象
		volu.setCylinder(2.5,5,3.14);
	    System.out.println("r = "+volu.radius);
	    System.out.println("h = "+volu.height);
	    System.out.println("area = "+volu.area());
	    System.out.println("volume = "+volu.volume());
	}
}
class Cylinder {
	double radius;
	int height;
	double pi = 3.14;
	void setCylinder(double r ,int h ,double p)
	{
		pi = p;
		radius = r;
		height = h;
	}
	double area() {
		return  pi*radius*radius;
	}

	double volume() {
		return area()*height;
	}
}

4、匿名对象

    当一个对象被创建后,在调用该对象的方法时,也可以不定义对象的引用变量,而直接调用这个对象的方法,这样的对象叫匿名对象

volu = new Cylinder();  //创建对象
volu.setCylinder(2.5,5,3.14);

改写为

new Cylinder().setCylinder(2.5,5,3.14);

 当该方法执行完后,这个对象也变成了垃圾

 使用匿名对象通常有两种情况:

(1)对一个对象只需要进行一次方法调用

(2)将匿名对象作为实参传递给一个方法调用

posted @ 2015-11-21 19:52  Kevin1207  阅读(327)  评论(0编辑  收藏  举报