Java封装、继承和抽象的实例

工具:MyEclipse 6.5

首先新建一个文件夹,我们这里做的是一个关于动物睡觉的实例,所以我的文件夹名字是AnimailSleep,然后在src下面建两个包Animail和Sleep

因为所有的动物都有相同的属性,和不同的睡觉方式,

所以在Animail包里面我们要封装这些属性和睡觉的方法,下面代码是Animail这个包里的animail类的属性封装

package Animail;
//抽象类(关键字abstract)这里将animail类抽象化了,
public abstract class animail {
//封装,将我们认为是相同的属性列在animail类里,这里有动物名字(name)年龄(age)和颜色(color)
private String name;
private int age;
private String color;
//创建一个抽象方法 sleep(),抽象方法要加关键字(abstrct),抽象方法没有方法体(方法后面的花括号),因为子类的方法不一定全都相同,所以要自己定义
public abstract void sleep();
public static void main(String[] args) {
// TODO Auto-generated method stub

}

//这里是动物名字封装,setName(String name)用于给动物名字赋值,getName()用于取出已存的值,下面的setAge/getAge等也是这样
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}

}

我们在父类里将动物名(name),年龄(age),颜色(color)进行封装了,并将类和类里的Sleep()方法抽象化了,接下来是在子类里继承

在Sleep包中建一个睡觉测试(SleepTest)类,

package Sleep;

//这段代码要注意

import Animail.animail;
//子类(SleepTest)继承父类(animail)关键字(extends

public  class SleepTest extends animail{

//这是小狗的测试类,公共一个睡觉sleep()方法,
public void sleep(){
System.out.println(“小狗晚上是不睡觉的”);
}

public static void main(String[] args) {
//因为抽象类不能被new,所以让父类(animail)new,子类(SleepTest();)接收实现
animail a=new SleepTest();
a.setAge(3);
a.setColor(“黑色”);
a.setName(“黑虎”);
System.out.println(“小狗名字:”+ a.getName());
System.out.println(“小狗颜色:”+ a.getColor());
System.out.println(“小狗年龄:”+ a.getAge());
System.out.println(“————“);
a.sleep();
}

}

 

如果代码没有错,运行就会输出

小狗名字:黑虎
小狗颜色:黑色
小狗年龄:3
————
小狗晚上是不睡觉的

标签