今日分享:static   and  继承

static:

staic是修饰符 可以修饰方法和变量

变量:

被static修饰的变量称为静态变量

特点 该类的所有对象都共享同一个静态变量;不属于对象属于类;随着类的加载而加载,优先于对象存在。

调用的方法:类名调用(推荐);对象名调用

方法:

被static修饰的方法称为静态方法

特点静态方法多用于测试类或工具类;javabean类很少使用。

调用方法跟变量一样。

小tips

工具类是指将一个功能提升到一个类中当作工具使用,工具类的写法:构造方法必须私有化,因为我们使用不到这个工具类的对;方法必须用static修饰。

static的注意事项:

静态方法中,只能访问静态;

非静态方法中可以访问所有;

静态方法中没有this关键字;(因为静态是属于类,不属于对象。this无意义)

继承:

继承是面向对象三大特性之一

继承就是俩个类之间存在的一种关系。当类与类之间存在相同(共性)的内容,并满足子类是父类的一种时就可以使用继承

使用继承的好处:可以把子类中重复的代码抽取到父类,节约代码,提高代码的复用性;

子类可以在父类的基础上添加功能,使子类更强大;

特点:java只支持单继承,不支持多继承,但支持多层继承。(就是你爸爸生你,你生你儿子这样子,自己想象);java中所有的类都直接或间接继承于Object类;

子类能从父类中继承的内容:

构造方法不能继承;

成员方法都能继承,私有变量不能直接使用,通过get/set;

成员方法只有虚方法表里的方法能够继承;(虚方法表里的方法必须非private非static非final);

继承中访问成员变量和成员方法的特点:

成员变量的访问特点:就近原则

先在局部位置找,找不到到本类成员位置找、父类成员位置找逐级往上。

成员方法的访问特点:

this调用:就近原则

super调用:直接找父类

方法重写:

方法重写就是在继承体系中,子类出现了和父类中一模一样方法声明,我们就称子类这个方法是重写的;

方法的重写建议加上@Override注解,可以检验重写是否正确是否正确,同时可读性好;

重写的方法尽量跟父类保持一致,只有虚方法表里的方法才可以重写;

方法重写就是覆盖虚方法表中的方法;

继承中的构造方法和this、super关键字:

父类的构造方法不会被继承

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

因为有可能用到父类的数据,所以要先初始化父类;

子类虽然不可以继承父类的构造方法,但可以通过super关键字进行调用;

this、super使用总结:

this:可以理解成一个变量表示当前方法调用者的地址值。

super:代表父类的存储空间

栗题:

https://download.csdn.net/download/weixin_65861329/86892533

面向对象进阶(static&继承)的更多相关文章

  1. day021|python之面向对象进阶1

    面向对象进阶 目录 面向对象进阶 1 继承 1.1 继承入门 1.1.1 继承基础 1.1.2 类的基本使用 1.2 多继承 1.2.1 多继承的基本使用 1.2.2 多继承以后的重复性 1.3 类的 ...

  2. Python3 与 C# 面向对象之~继承与多态 Python3 与 C# 面向对象之~封装 Python3 与 NetCore 基础语法对比(Function专栏) [C#]C#时间日期操作 [C#]C#中字符串的操作 [ASP.NET]NTKO插件使用常见问题 我对C#的认知。

    Python3 与 C# 面向对象之-继承与多态   文章汇总:https://www.cnblogs.com/dotnetcrazy/p/9160514.html 目录: 2.继承 ¶ 2.1.单继 ...

  3. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  4. day26、面向对象进阶:多态、封装、反射

    一.多态 什么是多态: 类的继承有两层意义:1.改变 2.扩展 多态就是类的这两层意义的一个具体的实现机. 即:调用不同类实例化的对象,下的相同的方法,实现的过程不一样 python中的标准类型就是多 ...

  5. C#基础总结之八面向对象知识点总结-继承与多态-接口

    .方法深入讲解(返回值,形参与实参) 方法 public int getName(int i,int j) { int sum = i + j; return sum; } .利用泛型存储对象数据 . ...

  6. Python开发【第七篇】:面向对象 和 python面向对象进阶篇(下)

    Python开发[第七篇]:面向对象   详见:<Python之路[第五篇]:面向对象及相关> python 面向对象(进阶篇)   上一篇<Python 面向对象(初级篇)> ...

  7. ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase

    原文地址:http://www.51csharp.com/MVC/882.html   ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL 引言-- 在初级篇中,我们 ...

  8. PHP面向对象中 static:: 与 self:: parent:: $this-> 的区别

    很多好几年工作经验的PHP工程师,对PHP面向对象中 static:: .self::.parent::.$this->  的定义和使用都不清晰,特做详细梳理: static:: 可以访问全局作 ...

  9. python进阶(7):面向对象进阶

    学了面向对象三大特性继承,多态,封装.今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数. 一.isinstance和issubclass class Foo: pass class Son( ...

  10. python基础——面向对象进阶下

    python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...

随机推荐

  1. 数据库基础操作 part1

    初识数据库 数据库相关概念 数据库管理软件: 本质就是一个C/S架构的套接字程序 服务端套接字 客户端套接字 操作系统: Linux 操作系统: 随意 计算机(本地文件) 计算机硬件 应用流程: 服务 ...

  2. python自动更新pom文件

    前言 项目越来越多,版本管理越来越麻烦,在项目上我使用 maven version 来进行版本管理.主要还是在分布式项目中模块众多的场景中使用,毕竟各个模块对外的版本需要保持统一. 关于这个插件如何使 ...

  3. MySQL常用函数整理,建议收藏!

    常见函数 字符串函数 数字函数 日期函数 聚合函数 流程控制函数 一.字符串函数 concat(s1,s2...,sn) --将s1,s2...,sn连接成字符串,如果该函数中的任何参数为 null, ...

  4. MySQL5.6 & 5.7 配置 SSL

    mysql5.7上开启并配置ssl [root@mysqlmaster01 bin]# ./mysql_ssl_rsa_setup --datadir=/data/mysql_data1/ --use ...

  5. prometheus告警规则模板:MySQL,nginx,node

    rules_up.yml groups: - name: up rules: - alert: mysql expr: up{instance="db1",job="my ...

  6. kvm使用桥接的方法

    什么是桥接 桥接就是把物理机的网卡模拟成交换机,虚拟机的网卡直接连在虚拟的网桥即交换机上.这样kvm虚拟机分配的IP地址,就应该和物理机在同一网段,可以对外进行服务. 在KVM下运行的VM默认的网卡采 ...

  7. k8s安装常用软件的yaml文件

    参考网址:https://www.bejson.com (网站文件部分有坑,需要擦亮眼睛) nginx k8s版本:v1.20 apiVersion: apps/v1 kind: Deployment ...

  8. 7.nexus版本升级

    nexus-3.14.0升级到3.15.2 首先来看下原来的服务目录: nexus-3.14.0-04 sonatype-work 注意:nexus-3.14.0-04是应用程序包,sonatype- ...

  9. PHP全栈开发(八):CSS Ⅴ 超链接 style

    CSS里面有专门针对超链接的选择器,也就是他们: a:link - 正常,未访问过的链接 a:visited - 用户已访问过的链接 a:hover - 当用户鼠标放在链接上时 a:active - ...

  10. Codeforces Round #708 (Div. 2)

    A题被hack,A题很简单,其实题目没看懂,直接看样例做的. B题题意是以为懂了,但是样例一直看不懂. 经验:要两两相加能被一个m整除数组sum最少,利用他们的余数就可以设为a[x], x是余数,如果 ...