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

相关推荐
老猿讲编程6 分钟前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk1 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*1 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue1 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man1 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟1 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity2 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天2 小时前
java的threadlocal为何内存泄漏
java
caridle2 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步