zoukankan      html  css  js  c++  java
  • Java面向对象——特征二:继承性简介

    1.继承的基础使用

    父类Person的内容:

    package com.xlx.java;
    
    public class Person {
        String name;
        int age;
        
    // 构造器
    public Person() { } public Person(String name,int age) { this.name=name; this.age=age; } public void sleep() { System.out.println("睡觉"); } public void eat() { System.out.println("吃饭"); } }

     子类Student的内容:

    package com.xlx.java;
    
    public class Student extends Person{
        String major;
        
        public Student() {
            
        }
        
        public Student(String name,int age,String major) {
            this.name=name;
            this.age=age;
            this.major=major;
        }
        
        public void study() {
            System.out.println("学习");
        }
    }

     说明:

    • extends关键字作用是子类Student继承自父类Person
    • 继承自父类后的子类可以直接使用父类中声明的所有方法属性
    • 即父类保存了所有子类中所共有的属性及方法
    • 父类中的私有的属性,通过get,set方法也可以调用
    • 只是因为封装性的影响,使得子类不能直接调用父类的结构而已
    • 子类继承父类以后,还可以定义自己的属性和方法

     图示:

      

    继承性的优点:

    1. 减少了代码的冗余,避免重复代码
    2. 便于功能的扩展
    3. 为多态性的使用,提供了前提

     2.继承性的格式:

      class A extends B{}

    A即子类(派生类/subclass),B即父类(超类、基类/superclass)

     3.继承性再说明:

    (1)Java只支持单继承和多层继承,不允许多重继承
    • 一个子类只能有一个父类  class A extends B{}(√)
    • 一个父类可以派生出多个子类  class A extends B,C,D...{}(×)
    (2)子类父类的概念是相对的

      

    • 子类直接继承的父类称为直接父类,间接继承的称为简介父类
    • 继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法
    (3)如果我们没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类

    即所有的java类(除java.lang.Object类外),都直接或者间接继承于java.lang.Object类

    意味着,所有的java类都具有java.lang.Object类中声明的功能

     
  • 相关阅读:
    自省改过
    c语言学习教程1之预定义代码
    tqdm进度条管理
    React-i18next切换中英文
    React怎样实现点击其他地方隐藏弹出的菜单
    遍历对象再取值,获得新值
    Web 用户体验设计提升指南
    antd vue form
    echarts 内容显示值在图中显示,不显示交互效果,只是静态图
    element-ui中el-table根据浏览器的缩放自适应宽度
  • 原文地址:https://www.cnblogs.com/codexlx/p/13533848.html
Copyright © 2011-2022 走看看