学习毕向东java第七天

学习毕向东java第七天


p76
讲的是,什么时候使用静态:即使用静态变量和静态函数。
静态变量:比较容易理解,就是当一个类中,出现一些以后无论对象存在与否,且对象数量与否,都会存在的一些变量,且这些变量都会被对象共享。这个时候,就需要把该变量定义成静态变量。
静态函数:出现一个函数(方法),里面未涉及到非静态变量,要么是一些静态变量,要么直接就是一些已经存在的数据时,需要把函数定义成静态的。

看过视频之后,对于静态最大的好处就是在于一些工具类。

创建这些类之后,再些一些类中的方法,将这些方法变成静态的话就可以不需要再创建类的对象来调用这些方法,而可以直接通过类来调用这些方法。
(感觉这期视频可以在看一下,所以内附视频链接:https://www.bilibili.com/video/av33772791/?p=77

而对于工具类,可以复制来自其他人的.class文件,再将本地的classpath路径加入复制过来的.class文件路径中,即可立即使用。(为什么复制.class文件,是因为就不需要编译,更加省力)
而当你写好一个工具类之后,需要写一份说明文档来解释里面的代码含义

这个时候要介绍一个Java在命令行下的一个命令:javadoc
是用来描述类或者方法的文档
仅供了解:https://www.cnblogs.com/fjhh/p/5370642.html

这也就涉及到了API.

p79
静态代码块
突然产生一个问题,类的存在的非静态的方法是存在于堆中还是存在与方法区(共享区中) 个人觉得是在堆中,但是好像看到网上是在共享区(方法区)中
一个类中的:1.静态变量 2.非静态变量 3.静态方法 4.非静态方法
在其他博客处找到一句核心话语**堆中存放对象,方法区中存放类信息、常量、静态变量、即时编译器编译的代码。**博客参考自:https://blog.csdn.net/u010425776/article/details/51170118

p82
设计模式,有23种,总结来自:https://blog.csdn.net/doymm2008/article/details/13288067
其实都是为了开发更加的快捷和简便。

p84
继承(extends):就是把一些各个类之间的可以共享的一些属性(包含变量和函数)给提取出来(注意,是类,而不是对象,对象的话就是一个类中的静态变量
1.提高了代码的复用性
2.让类与类之间产生联系,有了这种联系才会产生之后的多态。
继承是一个所属关系:即 is a
如:student is a person 但是 student is a worker

Java 支持单继承,而不支持多继承。是因为多继承会带来安全隐患,假设两个被多继承的类存在一些共同姓名但不同功能的变量或方法,继承的类会不知道调用哪一个。

但是Java支撑多层继承,基本上来说是要看最下面一层的类,该类所能实现的功能最多,且最有可能创建对象

覆盖(重写 这个名字更加容易搞错);存在于继承之下的,子类与父类之间。即当子类编写了一个与父类相同名称的函数时,运行使用子类的函数。(其实也是因为子类需要书写一个函数,但是这个函数的功能与父类中某个方法的功能相同)
这个常常与重载混淆,重载是存在于一个类之中,相同函数名,但是不同参数(包含参数类型和参数数量)的情况(且不关注函数本身的返回类型)

猜你喜欢

转载自blog.csdn.net/qq_41115379/article/details/87875557