Java漫游记(二)----对象和类

学习目标

  • 描述类和对象
  • 如何定义类以及如何创建对象
  • 构造方法
  • 引用变量和引用类型
定义对象的类
面向对象程序设计OOP就是使用对象进行程序设计。
类:是一个模板、蓝图,用来定义对象的数据域是什么以及方法是做什么的。
对象:代表现实世界中可以明确标识的一个实体,每个对象都有自己的属性、状态和行为。
  • 一个对象的属性是指那些具有它们当前值的数据域。
  • 一个对象的行为,是由方法定义的。调用对象的一个方法就是要求对象完成一个行为。
  • 一个对象是类的一个实例,可以从一个类中创建多个实例,创建实例的过程称为实例化(instantiation)。
Java类使用变量定义数据域,使用方法定义行为(动作),类还提供了构造方法,
的特殊类型的方法,调用它可以创建一个新的对象,构造方法本身是可以完成任何行为的,但是
构造方法主要为了完成初始化动作。
Java漫游记(二)----对象和类
文章图片
圆对象 定义类和创建对象(实例) 要求:程序构造了三个圆对象,半径分别为1.0、25和125,然后显示这三个圆的半径和面积,将第二个对象的半径改为100,然后显示它的新半径和面积。
public class TestCircle1 { public static void main(String[] args) { Circle1 circle1 = new Circle1(); System.out.println("半径为:" + circle1.radius+ "的圆的面积为:" + circle1.getArea() ); Circle1 circle2 = new Circle1(25); System.out.println("半径为:" + circle2.radius+ "的圆的面积为:" + circle1.getArea() ); Circle1 circle3 = new Circle1(125); System.out.println("半径为:" + circle3.radius+ "的圆的面积为:" + circle1.getArea() ); circle2.radius = 100; System.out.println("半径为:" + circle1.radius+ "的圆的面积为:" + circle1.getArea() ); } }class Circle1{ double radius; Circle1() { radius = 1.0; }Circle1(double newRadius){ radius = newRadius; } double getArea(){ return radius * radius * Math.PI; } }

要求:每台电视机都是一个对象,每个对象都有状态(当前频道、当前音量、电源开或关)以及动作(换台、调节音量、开关电视)
* 如果打开电视,那么频道和音量都没改变,在改变其中任何一个之前,必须检查当前值 * 是否在一个规定正确的值内。 * */ public class TV { //设置TV的默认属性 int channel = 1; int volumeLevel = 1; boolean on = false; public TV(){}public void turnOn(){ on = true; }public void turnOff(){ on = false; }public void setChannel(int newChannel){ if (on && newChannel >=1 && newChannel <= 120){ channel = newChannel; } } public void setVolumeLevel(int newVolumeLevel){ if (on && newVolumeLevel >=1 && newVolumeLevel <= 7){ channel = newVolumeLevel; } }public void channelUp(){ if (on && channel < 120){ channel ++; } }public void channelDown(){ if (on && channel >1){ channel --; } }public void volumeUp(){ if (on && volumeLevel <7) { volumeLevel++; } } public void volumeDown(){ if (on && volumeLevel >1){ volumeLevel--; } } }

构造方法
构造方法是一种特殊的方法,具有一下特征
  • 构造方法必须具备和所在类相同的名字
  • 构造方法没有返回值类型,连void都没有
  • 构造方法是创建一个对象使用new操作符时调用,构造方法也快成重载,这样更有利于用不同的
    初始化值来构造对象。
【Java漫游记(二)----对象和类】通常一个类会提供一个没有参数的构造方法,称为无参构造方法。一个类可以不定义构造方法,在这种情况下,类会隐形的定义一个
方法提为空的无参构造函数(类中没有明确定义任何构造方法时才会提供它。)
引用变量和引用类型

    推荐阅读