day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码块+构造(实例)代码块、单例_饿汉+懒汉单例设计模式、extends继承 _@Override重写校验注解_子类调用父类构造器+super(...)调用父类有参构造器+this(...)借用兄弟构造器、本节回顾总结)

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)










posted @ 2024-04-16 09:31  子沐呐吖  阅读(48)  评论(0)    收藏  举报