面向对象-继承性 覆盖

继承性:

关键词:extends

作用描述:假如两个类中,有相同的变量,就可以提取到一个类中,哪两个类来继承这个类中的变量,提高代码的复用性,让类与类产生关系,这个是多态的前提。

例:

两个类,学生和工人,他们具有相同的两个变量 姓名 和 年龄,然后学生的行为是学习,工人的行为是工作,我们定义一个人的类,里面具有姓名和年龄变量,然后定义学生类和工人类让他继承 人类 的姓名 年龄变量。

1 public class person{
2   private String name;
3   private int Age;    
4 }
public class Student extends person{
  public void stady(){
    SYstem.out.println("学习");
  }
}

public class woker extends person{
      public void work(){
        System.out.println("工作");
    }
}

PS:

  1. 不要为了简化代码而继承,必须是类与类之间有所属关系才可以继承。
  2. java只支持单继承,不支持多继承。(带来安全隐患,当多个父类定义了相同功能,子类不确定要运行哪一个)
  3. java支持多层继承。A继承B C继承B。
  4. 父类也叫超类 super

子类要访问本类中的变量用this 子类要访问父类的同名变量,用super

覆盖(重写)Overside

当子类出现和父类一模一样的函数时,子类对象调用该函数,会运行子类函数的内容,如同父类的函数被覆盖一样

public class Tel{
  public void show(){
      System.out.println("显示号码");          
    }  
}
public class NewTel extends Tel{
    public void show(){
        System.out.println("显示号码");
        System.out.println("显示姓名");
    }
}

PS:子类覆盖父类,子类权限必须大于父类;

  静态只能覆盖静态;

猜你喜欢

转载自www.cnblogs.com/8060433www/p/11139110.html
今日推荐