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

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

  • 相关阅读:
    Spring用代码来读取properties文件
    单链表与双链表的区别
    为什么有些IP无法PING通但又能访问
    使用iperf3调试网络
    arm linux 移植 iperf3
    ZYNQ:PetaLinux工程更新HDF文件的脚本
    ZYNQ:使用PetaLinux打包 BOOT.BIN、image.ub
    ZYNQ:提取PetaLinux中Linux和UBoot配置、源码
    ZYNQ:使用 PetaLinux 构建Linux项目
    ZYNQ:使用SDK打包BOOT.BIN、烧录BOOT.BIN到QSPI-FLASH
  • 原文地址:https://www.cnblogs.com/qq1206583608/p/3375316.html
Copyright © 2020-2023  润新知