• 继承的定义与使用


     1 class Person{
     2     private String name;
     3     private int age;
     4     private String school; 
     5     public void setName(String name){
     6         this.name=name;
     7     }
     8     public String getName(){
     9         return this.name;
    10     }
    11     public void setAge(int age){
    12         this.age=age;
    13     }
    14     public int getAge(){
    15         return this.age;
    16     }
    17     public void setSchool(String school){
    18         this.school=school;
    19     }
    20     public String getSchool(){
    21         return this.school;
    22     }
    23 }
    24 class Student extends Person{//定一个子类
    25     private String school;//扩充新属性
    26     public void setSchool(String school){
    27         this.school=school;
    28     }
    29     public String getSchool(){
    30         return this.school;
    31     }
    32 }
    33 public class Newbegin{
    34     public static void main(String args[]) {
    35         Student stu=new Student();//实例化子类
    36         stu.setName("聊天");//此方法student类没有定义
    37         stu.setAge(6);
    38         stu.setSchool("家里蹲大学");
    39         System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge()+",学校:"+stu.getSchool());
    40     }
    41 }

    继承一个类,并且可以实现方法的扩充

    继承的限制

    1.子类对象在进行实例化前一定先实例化父类对象,默认调用父类的构造方法后,在调用子类的构造方法;(有父才有子)

    2.java中只允许单继承不允许多继承,可以使用多层继承。

    Java不允许多重继承,当允许多层继承

    3.在进行继承的时候子类会继承父类的所有结构,但是这个时候我们要注意的是,所有非私有操作属于显示继承(直接调用),所有私有操作属于隐式继承(通过其他形式调用,set,get)

     1 class Person{
     2     private String name;
     3     public void setName(String name){
     4         this.name=name;
     5     }
     6     public String getName(){
     7         return this.name;
     8     }
     9 }
    10 class Student extends Person{//定一个子类
    11     public void fun(){
    12         System.out.println(getName());
    13     }
    14 }
    15 public class Newbegin{
    16     public static void main(String args[]) {
    17         Student stu=new Student();
    18         stu.setName("张三");
    19         System.out.println(stu.getName());
    20         stu.fun();
    21     }
    22 }

    总结:

    1.继承的语法和目的

    2.子类对象的实例化流程,先父后子

    3.继承的限制:不允许多重继承,当允许多层继承

  • 相关阅读:
    Django中的分页操作、form校验工具
    Django之form表单操作
    手写版本orm
    mysql注入问题
    MySQL基本操作
    初识数据库
    进程池、线程池
    信号量
    event事件
    死锁
  • 原文地址:https://www.cnblogs.com/Tony98/p/10395879.html
Copyright © 2020-2023  润新知