首页 > 其他分享 >继承的一些概念

继承的一些概念

时间:2023-03-05 22:25:41浏览次数:27  
标签:name 继承 子类 概念 一些 父类 方法 public

封装:

对象代表什么,就得封装对应的数据,并提供数据对应的行为

继承:

Java只支持单继承,不支持多继承,但支持多层继承--每一个类都直接或间接的继承于Object

  • 权限修饰符 - private

被私有,只能在本类中访问

子类只能访问父类中非私有的成员

  • 构造方法:

父类的构造方法不能被子类继承 - 如果子类可以继承,违背了方法的构造规则(比如重名)

子类中所有的构造方法默认先访问父类中的无参构造,再执行自己

子类的构造方法第一行会默认有一个super(),不写也会存在 -这就是为什么如果删掉父类的空参构造方法,子类的空参构造方法会报错

但要调用父类的有参构造,就要手动写super,并且必须在第一行

public class fu {
    private String name;
    private int age;
    public fu() {}
    public fu(String name,int age){
        this.name = name;
        this.age = age;
    }
}
class zi extends fu{
   private String gender;
   public zi(){}
    public zi(String name,int age,String gender){
       super(name,age);
       this.gender = gender;
    }
}

  • 成员变量

不管是私有的还是非私有的,子类都可以继承父类

但是私有的成员变量子类不能直接使用(set和get方法)

访问特点

​ 就近原则:使用最近的一个变量

​ (局部 -> 本类 -> 父类)

​ this > 本类的变量

​ super > 父类的变量

System.out.println(name);		//从局部开始往上找
System.out.println(this.name);	//从本类成员开始往上找
System.out.println(super.name);	//从父类成员开始往上找
  • 成员方法:

如果方法可以被添加到虚方法表,就可以被继承,否则不能被继承

虚方法表:

​ 非private/static/final的方法 父类会放进虚方法表给子类继承,子类会在此基础上再添加自己类中的虚方法给下一个子类

访问特点:

​ 同访问成员变量一样,采用就近原则

方法的重写:

​ 当父类的方法不能满足子类现在的需求,需要进行方法重写

​ 只有被添加到虚方法表的方法,才能被重写

​ 重写的方法尽量和父类保持一致

​ 建议重写的方法都加上@Override

public class fu {
    public void tell(){
        System.out.println("父类说话");
    }
}

class zi extends fu{
    @Override
    public void tell(){
        System.out.println("子类说话");
    }
}

标签:name,继承,子类,概念,一些,父类,方法,public
From: https://www.cnblogs.com/wishcyz/p/17181903.html

相关文章

  • 中断概念+设备树中的中断节点以及函数
    中断基础概念中断上下文设备树中的中断节点以及相关函数......
  • 【数据库】数据模型之概念模型
    概念模型 实体和属性  一本书是一个实体,书的特性(页数、出版日期、定价等)就是属性。一堆书就是一个实体集。 实体集和实体键之间的关系  实体之间联......
  • EF7继承映射
    EntityFramework7(EF7)中的继承映射允许您将类层次结构映射到数据库中的表层次结构。具体而言,这意味着您可以创建一个基类,然后从该基类派生多个子类,并将这些子类映射到......
  • Static的一些描述
    Staticstatic表示静态,是JAVA中的一个修饰符,可以修饰成员方法,成员变量被static修饰的成员变量,叫做静态变量静态变量特点:1.被该类所有对象共享所有对象都用同一个......
  • 以下总结了Java一些面试前准备和技术参考题,希望对你有所帮助
    以下真实模拟JAVA面试场景:感谢您参加我们的面试;以下是我们总结一些面试前准备和技术参考题,希望对你有所帮助。首先,你需要先准备下工作相关的自我介绍,包括以下内容:几年......
  • 新概念2册L49笔记(分词做状语)
    L49Theendofadream单词讲解分词做状语课文理解......
  • Jmeter学习:性能相关概念
    1、性能测试指标:多、快、好、省、思考时间多:并发量;快:时延、响应时间;好:稳定性(长时间运行);省:资源使用率;思考时间:更贴合于实际场景(更像人);2、响应时......
  • 学习Java需要掌握的基本概念和技能
    Java基础语法:基础语法包括:变量、数据类型、运算符、控制结构等面向对象编程:掌握面向对象编程思想,包括:类和对象、封装、继承、多态。JavaAPI:了解Javaapi的基本使用,熟悉......
  • 新概念2册L48笔记(复习36-46课)
    L48didyouwanttotellmesomething?复习理解词汇理解课文理解......
  • 备战面试系列-并发编程-基础概念(1)
    1、前言最近在备战面试,重新开始复习Java体系的知识点,久没有复习发现又生疏了,同时再次学习又有新的感悟,真的是常学常新。为了让自己理解更深入点,记忆久一些,同时以后复习时......