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
------------
小狗晚上是不睡觉的

谢谢观看!希望能帮到你@_@

原文地址:https://www.cnblogs.com/qq1206583608/p/3375316.html