Java漫游记(二)----对象和类
学习目标
- 描述类和对象
- 如何定义类以及如何创建对象
- 构造方法
- 引用变量和引用类型
面向对象程序设计OOP就是使用对象进行程序设计。类:是一个模板、蓝图,用来定义对象的数据域是什么以及方法是做什么的。
对象:代表现实世界中可以明确标识的一个实体,每个对象都有自己的属性、状态和行为。
- 一个对象的属性是指那些具有它们当前值的数据域。
- 一个对象的行为,是由方法定义的。调用对象的一个方法就是要求对象完成一个行为。
- 一个对象是类的一个实例,可以从一个类中创建多个实例,创建实例的过程称为实例化(instantiation)。
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漫游记(二)----对象和类】通常一个类会提供一个没有参数的构造方法,称为无参构造方法。一个类可以不定义构造方法,在这种情况下,类会隐形的定义一个引用变量和引用类型
方法提为空的无参构造函数(类中没有明确定义任何构造方法时才会提供它。)
推荐阅读
- JavaScript中通过style修改属性时需要添加“px”
- JavaScript实现随机点名器
- Java线程同步机制
- 大咖说·图书分享|了不起的 JavaScript 工程师(从前端到全端高级进阶)
- 15个提高Javascript开发の技巧
- Java|大厂面经分享(双非五面入职字节,他都做了哪些准备())
- java|Java 修饰符 private、default、protected、public 的应用实例 (属性)
- java|java多线程-Lock对象的使用
- Java项目|Java--求两个整数的最大公约数和最小公倍数
- 20_表达式引擎|【java表达式引擎】四、高性能、轻量级的AviatorScript