对象有状态和行为
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
类是对象的蓝图。在编写类时,你正在描述Java虚拟机应该如何创建该类型的对象。你已经知道每个对象有独立的实例变量,但方法呢?
同一类型的每个对象能够有不同的方法行为吗? 嗯…差不多。
相同类的每个实例都带有相同的方法,但是方法可以根据实例变量(属性)的值来表现出不同的行为。 Song这个类有title与artist这两个实例变量。 play()会播放title值所表示的歌曲。所以调用某个实例的play()可能会播放"红豆",而另一个实例会播放"我的歌声里",然而他们所调用的方式都是play():
void play() {
System.out.println(artist + " is playing " + title);
}
Song t1 = new Song();
t1.setArtist("王菲");
t1.setTitle("红豆");
Song t2 = new Song();
t2.setArtist("曲婉婷");
t2.setTitle("我的歌声里");
大小影响叫声。
小型犬的叫声与大型犬不同。
Dog这个类有个称为size的实例变量,bark()会用它来决定使用哪一种声音。
class Dog {
int size;
String name;
void bark(){
if (size > 60) {
System.out.println("汪汪汪汪汪汪!");
} else if (size > 14) {
System.out.println("汪汪汪!");
} else {
System.out.println("喔喔喔!");
}
}
}
在线练习
{$ activeFileHint $}