首页 > 编程语言 >day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码块+构造(实例)代码块、单例_饿汉+懒汉单例设计模式、extends继承 _@Override重写

day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码块+构造(实例)代码块、单例_饿汉+懒汉单例设计模式、extends继承 _@Override重写

时间:2024-04-16 09:45:32浏览次数:21  
标签:静态 子类 代码 构造 static 单例 父类

0.面向对象进阶



1.static静态关键字

1.1 static是什么,static修饰成员变量的用法

Java    成员变量       成员方法
Python  类(对象)属性   类(对象)方法
  • static修饰成员变量的应用:在线人数统计







1.2 static修饰成员变量的内存原理

1.3 static修饰成员方法的基本用法




1.4 static修饰成员方法的内存原理

(见视频 --03、static:修饰成员方法、内存机制.mp4)

类,会加载到方法区; (study)

静态方法,优先加载到方法区;(getMax()、main())

方法,会加载到栈内存里面跑

1.5 static的注意事项



2.static应用知识: 工具类













  • 视频中后半部分这里,代码和上面的代码不连贯,貌似不是一期的



3.static应用知识:代码块

3.1 代码块的分类、作用



静态代码块,属于类,可以直接执行;
实例代码块,属于对象,创建对象后才会被对象调用执行。(实例代码块,用的比较少,不常见) 




3.2 静态代码块的应用案例




4.static应用知识:单例


4.1 饿汉单例模式

饿汉单例设计模式:在用类获取对象的时候,对象已经提前为你创建好了。



4.2 懒汉单例模式

懒汉单例设计模式:在真正需要该对象的时候,才去创建一个对象(延迟加载对象)。




5.面向对象三大特征之二:继承

5.1 继承概述、使用继承的好处






5.2 继承的设计规范、内存运行原理

5.2.1 继承的设计规范







5.2.2 内存运行原理


5.3 继承的特点




就像你爸有一辆车,他可以开,也可以共享给你开。(但是,自始至终,父类的静态成员只有一份。所以是共享,并非继承。)







【补充】:Python是支持多继承的。

在Python中,子类 可以拥有 多个父类,并且具有 所有父类 的 属性 和 方法

例如:孩子 会继承自己 父亲 和 母亲 的 特性


class 子类名(父类名1, 父类名2...)
    pass

5.4 继承后:成员变量、成员方法的访问特点





5.5 继承后:方法重写



5.5.1 @Override重写注解

@Override重写注解 (重点)






子类重写父类方法,建议权限和父类保持一致。

子类不能重写父类的静态方法。(静态方法,属于父类本身,所以子类不谈覆盖、重写它)

5.6 继承后:子类构造器的特点





5.7 继承后:子类构造器访问父类有参构造器

添加 Getter and Setter方法:




添加 有参构造器:




添加 无参构造器:


在开发过程中,有时我们想节省代码,直接传参实现属性的设置,怎么做呢?


上述操作还是不行,那怎么实现呢?

5.8 this、super使用总结



提供 Getter and Setter方法:




提供 有参构造器:




还要提供 无参构造器:




this(…) 调用本类其他构造器 (this借用兄弟构造器)

this(…) 和 super(…) 都只能放在构造器的第一行,所以二者不能共存在同一个构造器中。

因为this借用的兄弟构造器第一行默认有super(),所以调的时候还是先调的父类的构造器

6.总结:(static、工具类、单例、继承.mp4)










标签:静态,子类,代码,构造,static,单例,父类
From: https://www.cnblogs.com/SuperLee017/p/18137401

相关文章

  • 2466. 统计构造好字符串的方案数
    题目链接:本题其实是爬楼梯这道题的变式。题目要求长度在\(\rmlow\simhigh\)之间的好字符串个数,那我直接把所有长度的好字符串个数搞出来,再取长度在这个区间的相加就完事了。设\(f[i]\)表示构造长为\(i\)的字符串的方案数,也即长为\(i\)的好字符串的个数。看最后一步......
  • 静态代码分析的这些好处,我竟然都不知道?
    在软件开发中,单元测试的重要性毋庸置疑。我们都知道编码的必要条件是需要隔离代码来进行测试和质量保证。但我们如何确保部署的代码尽可能优质呢?答案是:静态代码分析。企业往往不会优先考虑静态分析。事实上,如果我们想创建更好的软件来帮助企业在市场竞争中取胜,我们就不能回避CI/C......
  • day04_我的Java学习笔记 (数组的静态初始化、数组的动态初始化,debug调试等)
    1.数组1.1数组的定义那python怎么定义数组的呢?Java:String[]names={"zhangsan","lisi","wangwu"}Python:names=["zhangsan","lisi","wangwu"]在python中,列表可以存储不同类型的数据,而在Java中,数组只能存储相同类型的数据。1......
  • CYC 构造
    把若干个无标号的东西串成一个环。例如从\(n\)个点的无标号有根树变成\(n\)个点的无标号基环树就是CYC构造。\[\sum_{k=1}^n{1\overk}\sum_{d=0}^{k-1}F(z^{k/\gcd(d,k)})^{\gcd(d,k)}\\=\sum_{k=1}^n{1\overk}\sum_{d|k}\varphi(d)F(z^{d})^{k/d}\\=\sum_{d=1}^n......
  • java 单例模式
    单例模式(SingletonPattern)是Java中最简单的设计模式之一,这种类型的设计模式属于创建型模式。目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。这样做可以节省系统资源,并且保证某些类在系统中只存在一个实例。主要解决:一个全局使用的类频繁地创建与......
  • 链表1: 静态单链表
    链表1:静态单链表单链表的结构链表包含了数据域与指针域,数据域存储数据,指针域存储下一个结点的地址链表的特点链表的优势在于数据的删改,在链表中查询第$i$个元素需要从第一个结点开始遍历链表,,因此在数据的顺序读取中链表的优势不如数组.链表的插入操作设newN......
  • 虚拟机Centos设置静态ip
    NAT模式相当于宿主机内部的一个虚拟网络,与宿主机公用一个IP.桥接相当于和宿主机平行,独立的IP和网卡.1设置开机自启#vi/etc/sysconfig/network-scripts/ifcfg-ens33将no改为yes#ONBOOT=yes#systemctlrestartnetwork#重启网络2下载网络工具如果有就不需要安装了......
  • 蓝桥杯-构造(数学公式1/n = 1/(n+1) + 1/(n+1)n )
    0.题目1.题解1.0找规律n=1,1/1=1/2+1/3+1/6n=2,1/2=1/4+1/6+1/12n=3,1/3=1/6+1/9+1/18....实际上,1/6=1/12+1/12,1/12=1/36+2/36=1/36+1/18即1/6=1/(62)+1/(623/2)+1/(623),即2,3,6三种1.1构造我们想要知道1/n......
  • 无参构造和有参构造
    在Java中,如果一个类没有显式地定义任何构造方法,那么编译器会自动为它生成一个默认的无参数构造方法(也称为默认构造方法或零参数构造方法)。这个默认的构造方法会简单地调用父类的无参数构造方法(如果存在并且可访问的话)。但是,一旦你在类中定义了至少一个构造方法(无论是有参数的还是......
  • stm32采集烟雾和温湿度+ESP8266转发解析+python构造http
      https://www.cnblogs.com/gooutlook/p/16061136.html  http://192.168.1.103/Control_SensorPin?sensor=sensor_all&action=GetDatapython#-*-coding:utf-8-*-importrequestsimporturllib.parse#pipinstallrequestsdefSendHttp():#ht......