zoukankan      html  css  js  c++  java
  • 2017.12.1T19_B2_4——2

    ***********************************************

    package com.xdf.demo;

    /**
     *  由 abstract修饰的方法====> ====》抽象方法
     *   01.必须位于抽象类中
     *   02.必须没有方法体
     *   03.必须被子类重写,除非子类也是抽象类
     *  
     *  由 abstract修饰的类====>抽象类
     *   01.可以有普通方法
     *   02.抽象类不能被实例化,但是可以有构造方法
     *  
     */
    public abstract class Person {
     private int age; // 年龄
     private String name; // 姓名

     /**
      *   人类睡觉的方法
      *   子类一旦重写了这个sleep方法,当前父类的这个方法有存在的意义,
      *   但是 方法中的内容(方法体)没有存在的意义!
      *   因为Person的子类回去重写这个方法!
      *   01.去掉方法体之后,发现编译错误
      *   02.鼠标放在错误位置 出现两个选择 
      *      001.add  body   ×
      *      002.add abstract   √
      *   03.在方法上面增加了abstract之后还是报错
      *      鼠标放在错误位置 出现两个选择
      *       001.remove   abstract    ×
      *       002.make  type  Person   abstract  √
      */
     public abstract void sleep();

     public int getAge() {
      return age;
     }

     public void setAge(int age) {
      this.age = age;
     }

     public String getName() {
      return name;
     }

     public void setName(String name) {
      this.name = name;
     }

     public Person(int age, String name) {
      super();
      this.age = age;
      this.name = name;
     }

     public Person() {
      super();
     }

     @Override
     public String toString() {
      return "Person [age=" + age + ", name=" + name + "]";

    8888888888888888***********************************************8

    package com.xdf.demo;

    public class PersonDemo {

     /**
      *  Student 和 Teacher类 都去继承Person
      *  01.如果Student 和 Teacher类 都没有去重写父类的  sleep方法,
      *    那么调用sleep方法的时候,都是输出同样的语句!
      *  02.让子类去重写父类的sleep
      *   
      */
     public static void main(String[] args) {
      // 实例化两个子类的对象
      Student stu = new Student(10, "小黑");
      Teacher teacher = new Teacher(20, "小白");
      // 调用对应的睡觉方法
      stu.sleep();
      teacher.sleep();

    ********************************************

    package com.xdf.demo;

    public class Student extends Person { // 学生类

     public Student(int age, String name) {
      super(age, name);
     }

     public Student() {
      super();
     }

     @Override
     public void sleep() {
      System.out.println("学生在睡觉!!!");

    ************************************************

    package com.xdf.demo;

    public class Teacher extends Person { // 教师类

     public Teacher(int age, String name) {
      super(age, name);
     }

     public Teacher() {
      super();
     }

     @Override
     public void sleep() {
      System.out.println("教师在睡觉!!!");

  • 相关阅读:
    linux--->PHP常用模块解析
    php--->php 缓冲区 buffer 原理
    php--->php打印格式化
    mysql--->MySQL错误日志
    mysql--->mysql慢查询
    单双引号问题
    博客园图片显示问题
    laravel 常用知识总结
    laravel config文件的使用
    laravel 接收json串
  • 原文地址:https://www.cnblogs.com/xiaoxiao1016/p/8021607.html
Copyright © 2011-2022 走看看