1.5.1抽象java入门

前言:

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类

第二步:

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版本,我们会开始读源码,读大佬写的源码,去模仿大佬写的源码,去理解分析大佬怎么写源码的

相关推荐
Abladol-aj1 小时前
并发和并行的基础知识
java·linux·windows
清水白石0081 小时前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
Elihuss2 小时前
ONVIF协议操作摄像头方法
开发语言·php
Swift社区5 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht5 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht5 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20245 小时前
Swift 数组
开发语言
吾日三省吾码6 小时前
JVM 性能调优
java
stm 学习ing6 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc7 小时前
《Python基础》之字符串格式化输出
开发语言·python