对象是 Java 程序的核心, 在 Java 程序中 "万事万物皆对象". 类描述了对象的属性和
对象的行为. 类是对象的模板和图纸. 对象是类的一个实例, 是一个实实在在的个体. 类
类是对象的模板, 决定着对象的属性和方法. 由对象可以抽象出类, 类可以实例化成对象, 就像印钞机的模板决定印刷出来的钱的大小, 颜色.
与对象的关系如图 5.11 所示.
image.PNG
创建和使用步骤如下
第 1 步使用 new 关键字创建类的一个对象, 格式为
类名 对象名 = new 类名 ();
例如创建一个 ClassRoom 类的对象, 套用以上格式, 代码为
ClassRoom center=new ClassRoom();
此语句类似于基本数据类型的变量的声明并赋初值, 如语句 "Int center=88:"
第 2 步通过 "对象名 属性名" 或 "对象名 方法名 O" 来使用.
访问对象中封装好的属性和方法是通过点 "." 操作符进行的. 例如:
- center.nane="CsDN 软件学院";// 给 name 属性赋值
- center. tostring()
- // 调用类的方法, 该方法中的操作将被执行
[例 5.2] Class RoomIest java
基于例 5 创建一个信息教室类的对象, 并给属性赋值后显示在控制台上. 代码如下:
- public class ClassRoomTest
- public static void main(String[] args)
- ClassRoom center- new ClassRoom();
- // 直接输出对象时, 会默认调用对象的 tostring() 方法
- System, out. println(center. tostring())
- center.name="cs 软件学院";
- center. classNum- 10
- center. labNum- 10
- System. out. println(center. tostring ())i
输出结果为:
教室名称: nu1l
教室数目: 0
电脑台数: 0
教室名称: CS 软件学
教室数目: 10
电脑台数: 10
当一个对象被创建时, 会对其中各种类型的成员变量自动进行初始化赋值. 所以在未
给 center 赋值的时候, toString 方法显示的是 ml0 和 0, 赋值后显示的是 "CSDN 软件
学院 ",10 和 10
注意
如果 ClassRoom 类中的属性设置为私有的, 此处的 ClassRoomTest 类编译能通过吗?
[例 53] 编写学生类, 教师类及测试类
试代码的正确性. 学生类和教师类的具体属性及方法如图 512 所
image.PNG
学生类代码 Student. java 如下:
- public class Student {
- String name;
- int age;
- String coures;
- String interest;
- public void display(){
- System.out.println("姓名"+name);
- }
- }
教师类代码 Teacher.java 如下
- public class Teacher {
- String name;
- String speciality;
- int age;
- String course;
- public void diplay(){
- System.out.println("教师姓名"+name);
- }
- }
测试类代码 Testing.java 如下
- public class test55 {
- public static void main(String[] args) {
- Student shangsan=new Student();
- Teacher laowang=new Teacher();
- // 使用
- shangsan.name="张三";
- shangsan.display();
- }
- }
输出结果
image.PNG
在前面已经了解了 main 方法的用法, 它的存在为 Java 应用程序启动 Java 提供了程序
执行的入口点. 因此, 任何类都可以包含 main 方法. 但一般是基于如下原因, 才在类中添
加 man 方法.
(1) 为了执行测试程序以测试类的其他方法中包含的程序
(2) 为了启动应用程序
本例中, 是基于第一种情况, 才在 Testing 类中添加 main 方法的
读者可能对于类和对象的理解已经有初步的印象. 面向对象的设计重点是类的设计
而不是对象的设计, 下面将详细介绍类的组成部分: 属性和方法.
来源: http://www.jianshu.com/p/6a801d0348ca