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类中声明的功能

     
  • 相关阅读:
    9本Java程序员必读的书
    最短路径问题:dijkstar
    RSA加密算法
    BFC 浅谈
    纯css3配合vue实现微信语音播放效果
    Vue内置组件keep-alive的使用
    vim常用命令
    Java实体映射工具MapStruct的使用
    hexo文章编写部分语法总结以及hexo使用
    高级进程间通信
  • 原文地址:https://www.cnblogs.com/codexlx/p/13533848.html
Copyright © 2011-2022 走看看