Day5 java面向对象的学习

Day5

回顾方法

static 静态方法

不加static 非静态方法

static是和类一起加载的

类与对象的创建

类是一种抽象的数据类型,是对某一事物整体的描述

对象是抽象概念的具体事例

一个项目应该只存在一个main方法

使用new创建对象时,除了分配空间,还会初始化。

和C++的类似,不过大多的印象还是当初写springboot项目的,通过需求得到要几个类,先写类,再写mybatis的鱼数据库连接的层,最后写服务端和controller端

比较好理解。到后面还会看到

构造器

这个是重点

一个类如果什么也不写,也会存在一个构造器

看着像是给一个类初始化,它的特点是必须与类的名字相同,必须没有返回值,连void都没有。

先运行完构造器的方法后,才生成了这个对象。

作用

  • 使用new关键字,必须要有构造器本身也是在调用构造器。

  • 可以实例化一些对象,即可以初始化。

一旦定义有参构造,无参构造就必须要显明定义

如果对象有参数,会先用有参构造,没有才是无参构造

通过这个倒是学了IDEA的一个快捷键,alt+insert,这个可以直接生成构造器,看了一下还能直接生成get和set方法,十分方便。

创建对象的内存分析

首先 类是在方法区的 常量池在方法区

main方法是在栈里的最底下,先进后出。 对象在栈里是引用,真正的对象在堆里。

有点混乱,栈 ,堆

堆里面有一个特殊的区域叫方法区。

对象是通过引用来操作的 栈->堆(地址)

概念理解的差不多,但内存这一个知识倒是不大清晰,再回顾

封装

高内聚,低耦合 细节自己完成不让外部接触,只给外部一下能调用的方法 确实是封装的思想

在学校的java课也有讲到,比较清晰。

属性私有,然后给一下方法调用,get /set alt+insert能快捷生成get和set,在写项目常常用到。

继承

就是对一些类的抽象

子类是父类的扩展,就是在有父类的基础上还有自己独有的属性

extends 扩展

public class Application extends Student()

继承是类与类之间的关系,除此之外,类与类之间的关系还有组合,依赖,聚合。

java类只有单继承没有多继承。 一个儿子只能有一个爸爸, 爸爸可以有多个儿子

但子类无法继承父类的私有的东西,如果想用,就要写方法调用。

四个修饰符 private public protected default (私有,公开,受保护,默认)

一般规定父类属性是私有,方法是公有

object类

在java中,所有的类都默认直接或者间接继承object类,所以即使没有在类里写属性和方法,他也有object类的方法可以调用。

native 关键词 指本地的

思考

今天主要学的是面向对象编程,三大特性 封装 继承 多态,多态要明天学习了,主要是学习的思维,我大概是在学校的java课有了解过,现在再回看,还是比较清晰的,今天唯一的难点就是内存,这个了解确实较少,看来就算不考研,还得重拾一下四大件,不能忘了,现在就好多知识以及快忘的差不多了,要学点理论上的知识。

posted @ 2022-09-19 22:19  青山隐隐丶  阅读(16)  评论(0编辑  收藏  举报