对象和类

身边的对象

     |-现实世界中所有事物都是对象

  |-举例:

    |- 人、车、猫、食物等等

什么是对象的属性和方法

  |- 每个对象的属性(状态)可能不一样,例如张三的名字、身高、体重、出身信息和李四的不一样,而李四的这些信息又和王五的不一样。

      |- 每个对象和方法(行为)可能不一样,例如收银员的行为动作是负责收款和打印账单,而顾客的行为动作是购物。

      |- 你的求职简历上有什么?名字,性别,年龄,籍贯;你的兴趣爱好是什么?打球,瑜伽,太极,编程,game等等

封装

      |- 封装就是将对象的属性和方法封在一起,以新的完整的形式呈现。

  类是具有相同属性和共同特征的一组对象的集合。
  类定义了对象将有的特征(属性)和行为(方法)
  类的属性:对象或实体所拥有的特征在类中表示时称为类的属性。例如顾客类的身高、年龄、体重等都是类的属性。
  类的方法:对象执行的操作称为类的方法。例如顾客类的对象都具有的行为是购物,那么购物就是顾客类的方法。

对象和类的区别

|- 对象是类的实例,类是对象的类型。

对象

校长,员工,学生

公共汽车,小轿车

动物

猫,狗,狐狸

类是对象的模板,对象是类的实体。

Java类模板

 

public class <类名> {
// 定义属性部分
属性1的类型 属性1;
属性2的类型 属性2;
......
属性n的类型 属性n;

// 定义方法部分
方法1;
方法2;
......
方法n;
}

 

如何定义类

 

|- 定义类名

  编写类的最外层框架

public class <类名> {

    // 程序体

}

              |-编写类的属性

              |-编写类的方法

|- 问题:编写学生类,定义学生的属性和方法。

 

代码
public class Student { // 使用class定义类名
// 定义学生的属性
private String name; // 学生姓名
private int age; // 学生年龄
private char sex; // 学生性别

// 重写toString方法
public String toString() { // 显示学生信息
return name + " 性别" + sex + " 年龄:" + age;
}
}

 

如何创建和使用对象

 

由类生成对象就是类的实例化过程。

       创建对象的语法如下:

       类名 对象名 = new 类名();

       例如创建Student类的对象:Student zhangsan = newStudent();

       在java中引用对象的属性和方法是用“.”操作符来完成,表示调用。

语法如下:

  对象名.属性;

  对象名.方法名();

例如,创建对象之后我们就可以给对象的属性赋值了。具体代码如下:

  zhangsan.name =“张三”; // 赋值

  zhangsan.toString();//调用类的方法

 

代码
public class TestStudent {
public static void main(String[] args) {
Student obj
= new Student(); // 用new实例化对象
// 打印为赋值操作之前
System.out.println("初始化变量之前");
System.out.println(obj.toString());
obj.name
= "zhangsan"; // 引用name属性
obj.sex = 'F'; // 引用sex属性
obj.age = 20; // 引用age属性
System.out.println();
// 打印赋值操作之后
System.out.println("初始化变量之后");
System.out.println(obj);
// 对象会自动调用toString方法。特例。
}
}

 

类的方法

 

  |- 类的方法是一个功能模块,用来做一件事。

  |- 如何定义类的方法

|- 语法如下:

访问修饰符 返回值的类型 方法名() { // 方法名也是一个标识符

       // 方法的主体

}

              |- 举例:

返回值

代码

public String toString() {

       return "大家好";

}

public void method() {

       System.out.println("大家好");

}

方法调用

|- 语法:

       实例对象.方法名();

       |- 问题:编写一个电动狗类,它具有的属性是颜色为黄色,它具有的方法是跑、叫、显示自身的颜色。

 

代码
public class Dog {
String color
= "黄色";
public String run() {
return " it is running!";
}

public String bark() {
return " it is barking";
}

public String getColor() {
return color;
}

public String showDog() {
// 方法中还可以调用方法
//System.out.println(wangCai.bark());
//System.out.println(wangCai.run());
return "this is a " + getColor()+ " dog ";
}
}

public class ObjDog { // 测试类
public static void main(String[] args) {
Dog wangCai
= new Dog(); // 用new实例化对象
wangCai.color = "yellow"; // 修改默认值
System.out.println(wangCai.showDog());
System.out.println(wangCai.bark());
System.out.println(wangCai.run());


}
}

 

 

posted @ 2010-12-20 14:50  meng72ndsc  阅读(574)  评论(0编辑  收藏  举报