前言:
1.5.0版本中,我们熟练使用Git三个可视化操作(签出,提交,对比),再加上1.4.0版本的新建,总计使用四个Git可视化操作;对java编程的学习,总结,更进一步验证了编程语言和自然语言极高的相识程度,即文字是文章的基础,java基础是java生态的基础(第一个接触的框架SpringBoot)
本期内容:
1:利用工具更轻松的分辨静态方法(类函数)和方法(函数)的区别
2:面向对象编程
3:java文件分类
1:利用工具更轻松的分辨静态方法(类函数)和方法(函数)的区别
先回顾一下,方法和静态方法
方法公式3.0版本
方法 = 权限修饰符 + 返回值类型 + 函数名 + 参数 + 函数体
静态方法 = 权限修饰符 + 类修饰符 + 返回值类型 + 函数名 + 参数 + 函数体
区分是否为静态方法(函数)的唯一标准,是否被类修饰符修饰
一伙静态方法,一伙静态函数,一伙类方法,一伙类函数,乱七八糟,好烦好闹心~~~
Q:方法与函数
A:方法和函数两个名词,这两个名词所描述的操作是相同的,所以在大体上是不需要做太大区分
Q:静态和类是什么关系
A:静态修饰的是类的内容,所以作者我为了更直接点,直接管静态方法为类方法
如何利用IDEA功能优雅的区分呢?
假设,你是IDEA的一位开发人员,你的上司给你一个任务
在提示框上要让用户知道他调用的是静态的方法还是非静态的方法
真的假的,让我来做?
跟着我们不一样的java入门的人,肯定知道,怎么写
我又没让你用代码实现,用自然语言将逻辑理清
第一步:获取用户输入的类
第二步:根据获取类的地址,获得类的全部内容
第三步:判断这些内容是否带有类修饰符,如果有,你打算怎么让用户知道
高亮?加粗?不一样的颜色?还是什么?让我们看看idea开发人员是怎么做的
验证:
第一步:新建一个java类
第二步:
public class user {
public void NoStatic() {
System.out.println("我不是静态方法");
}
public static void IsStatic() {
System.out.println("我是静态方法");
}
}
第三步调用:
可以直接通过类调方法,这也是为什么我管它叫——类方法
我们通过类去调用非静态方法时,是会报错的
2:面向对象编程
类方法是类本身的属性,在最开始的文章中,有一种特殊的方法(函数),每一个类里面都有它,它的名字叫什么?
复习一遍 —— 构造函数(construct-or) 即构造,执行
构造函数 = 公共权限 + 类名 + 参数 + 函数体
执行构造对象的函数(方法)
这个函数的作用是构造对象,那么没有Static修饰符的方法那都属于对象
类方法,我们可以直接使用类名调用
方法呢?方法需要对象才能调用,可是创建对象需要构造方法,构造方法怎么调用呢?
只要知道构造方法怎么调用,自然而然的方法就知道怎么被调用
先学会第一种方法,—— 利用new关键词进行构造方法的调用
我们的对象没办法调用类方法
那么到这里,你应该就知道IDEA开发是怎么做的了,如下(极简版)
心细的人会发现
代码有粗细,下面的equals,toString这些方法我们没有定义怎么有的,右边的灰色字体void又是什么?
先留个坑,提升一下,这些细字体是面向对象中的一个特性,void是函数公式里的一个元素
3.java文件分类
5种,目前我们接触到了两种
总结:为什么要分清类方法和方法的区别,因为后面会去读源码,写源码,能分清这些,你就知道为什么这个地方官方或者作者用了new关键字,而不是直接调用,明明同一个文件里,却看不到别的方法,为什么作者没有用new,也实现了构造对象的方法
面向对象编程,是最能体现编程语言向自然语言发展的核心验证点,在这里我们只提到看对象这一概念,却不知道它有什么用?为什么会出现对象?也没有进行说明
java文件分类,依旧是为了后续读源码做准备,大概在1.8.0版本,我们会开始读源码,读大佬写的源码,去模仿大佬写的源码,去理解分析大佬怎么写源码的