首页 > 编程语言 >Day5 java面向对象的学习

Day5 java面向对象的学习

时间:2022-09-19 22:22:09浏览次数:67  
标签:java 对象 继承 Day5 构造 面向对象 父类 方法

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课有了解过,现在再回看,还是比较清晰的,今天唯一的难点就是内存,这个了解确实较少,看来就算不考研,还得重拾一下四大件,不能忘了,现在就好多知识以及快忘的差不多了,要学点理论上的知识。

标签:java,对象,继承,Day5,构造,面向对象,父类,方法
From: https://www.cnblogs.com/guoyifan/p/16709324.html

相关文章

  • Java中的Optional
    在我们日常的开发中,我们经常会遇到NullPointerException。如何才能优雅的处理NPE?这里告诉大家一个较为流行的方法java.util.Optional使用Optional来修饰对象,表示这个......
  • java 获取用户输入
    /*如何从键盘获取不同类型的变量:需要使用Scanner类1.导包:importjava.util.Scanner;2.Scanner的实例化:Scannerscan=newScanner(System.in);3.调用Scanner类的相关......
  • Java基础语法重点06(java Doc生成文档)
    JDK文档(jdk文档中提供了java中的各种技术的详细资料,以及jdk中提供的各种类的帮助说明)跳转到Java帮助文档1跳转到Java帮助文档2参数信息@author(......
  • java: Facade Patterns
     /***版权所有2022涂聚文有限公司*许可信息查看:*描述:*门面模式FacadePatterns*历史版本:JDK14.02*2022-09-12创建者geovindu*2022-09-12......
  • JavaWeb 4 事务
           ......
  • 第二次Java课堂随笔(静态static的内容)
    老师的课件里面提到了Java中的静态导入内容,那么什么是静态导入呢?于是我在网上查了这个有关内容,百度给出的解释是这样的:Java静态导入实际上就是通过给导入包名中添加一个sta......
  • Java基础2——流程控制
    Scanner通过scanner获取用户的输入,实现交互。importjava.util.Scanner;publicclassdemo{publicstaticvoidmain(String[]args){Scannners=n......
  • Java基础03——方法
    方法的定义与调用方法的定义类似函数,用于完成特定功能的代码片段格式:修饰符返回值类型方法名(参数类型参数名){​ 方法体;​ return返回值;}参数类型:实参(实......
  • java三周目笔记
    运算符运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。算术运算符  //%取余运算//结果的符号与被模数的符号相同classX{publicstaticvoid......
  • JavaLearnDay01
    Java语言名词解释:1.JVM(JavaVirtualMachine):Java虚拟机,用以不同平台,模拟相同的执行环境2.JRE(JavaRuntimeEnvironment):Java运行环境,包含JVM+解释器3.JDK(JavaDevelopmen......