首页 > 其他分享 >Day13 继承知识点综合

Day13 继承知识点综合

时间:2023-12-04 17:58:09浏览次数:30  
标签:知识点 name 访问 继承 default Day13 权限 super

1.继承

  • java 只有单继承 关键字:extends
class A{}//父类
class B extends class A{}//子类B继承了A类

2.继承权限

  • 相较于C++ 的public,protected, private,java对不写继承的default的定义不一样:

    • c++ default = private
    • Java不写则默认是 default,是一个新的权限, 所以 Java 有四种 public,protected, private,default。
  • default :包访问权限
    默认访问权限没有关键字,通常被称为包访问权限 (packageaccess) (有时也称为friendly)。

    • 这意味着当前包中的所有其他类都可以访问那个成员。对于这个包之外的类,这个成员看上去是private 的。
    • 由于一个编译单元(即一个文件)只能隶属于一个包,所以通过包访问权限,位于同一编译单元中的所有类彼此之间都是可访问的。包访问权限可以把相关类聚到一个包下,以便它们能轻易地相互访问。

3. Object类

Java 中所有类都会继承Object类,无论程序中有没有显式写明这种继承关系。有点像JS对象中的原型prototype的prototype即Object。

4. Super关键字

​ 加了super 关键字后 同名 属性 或者 方法 直接直接指向 父类

class Person{
    String name;
}
Class Man extends Person{
    String name;
    void showName(String name){
        System.out,println(name);//指向形参name
        System.out.println(this.name);//指向当前实例 Person 中的name
        System.out.println(super.name);//指向父类Person的name
    }
}

5. this()与super()

this()是当前类的构造器,有参构造或者无参构造

super()是父类的构造器,有参构造或者无参构造

  • super()和this()都要求放在方法体中的第一行否则报错,所以这两者不能共存

6.多继承

  • java 的类没有多继承,只有单继承
  • java 的接口可以多继承

标签:知识点,name,访问,继承,default,Day13,权限,super
From: https://www.cnblogs.com/wendao101/p/17875548.html

相关文章

  • Day09 方法知识点综合(求值策略与可变参数)
    1.求值策略编程语言中方法之间进行参数传递时有个传递策略,该策略就被称为求值策略(Evaluationstrategies)。求值策略分为两大基本类型,如果按照如何处理传递给方法的实际参数,分为严格的和非严格的两种求值策略。1.1严格求值策略传值调用(Callbyvalue)将实参复制一份给形参......
  • 三. 继承和派生
    文章参考:《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客1.继承案例#include<iostream>#include<string>usingnamespacestd;classPerson{private: stringname; stringid_number; intage;public: Person(stringname1,stringi......
  • 实验5 继承和多态
    实验任务三pets.hpp#pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{protected:stringnickname;public:MachinePets(conststrings):nickname(s){};public:virtualstringtalk()=0;s......
  • 实验五 继承和多态
    实验任务1publisher.hpp#pragmaonce#include<iostream>#include<string>usingstd::cout;usingstd::string;usingstd::endl;classpublisher{public:publisher(conststring&s="");public:virtualvoi......
  • 实验5 继承和多态
    实验任务31#include<iostream>2#include<string>3usingnamespacestd;4classMachinePets5{6private:7stringnickname;8public:9MachinePets(conststrings):nickname{s}{}10stringget_nickname()const{return......
  • 实验五 继承和多态
    task3machinepets.hpp#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststrings);MachinePets();stringget_nickname()const;public:virtualstringtalk(......
  • 实验5 继承和多态
    实验任务1源代码:#pragmaonce#include<iostream>#include<string>usingstd::cout;usingstd::endl;usingstd::string;//发行/出版物类:Publisher(抽象类)classPublisher{public:Publisher(conststring&s="");//构造函数......
  • Odoo_控制器(controller)常用知识点
    1.路由的定义@http.route(['/report/<converter>/<reportname>','/report/<converter>/<reportname>/<docids>',],type='http',auth='user',website=True)defreport_routes(......
  • 实验五 继承和多态
    Task3:pets.hpp:#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststrings):nickname(s){}conststringget_nickname(){returnnickname;}virtualstringta......
  • 深入理解C++继承(一)
    一、继承的概念及定义1.1继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复......