首页 > 编程语言 >java笔记——面向对象

java笔记——面向对象

时间:2023-10-25 19:34:30浏览次数:37  
标签:java 变量 构造方法 对象 成员 局部变量 笔记 面向对象 方法

1.概述:面向对象是基于面向过程的编程思想

举例:把大象装进冰箱

2.开发:不断的创建对象,使用对象,指挥对象做事情

3.面向对象特征:封装 , 继承 , 多态

4.类和对象的关系:

类是一组相关的属性和行为的集合

对象是该类事物的具体体现

5.用class描述事物:

成员变量就是事物的属性 , 成员方法就是事物的行为

6.内存图:

一个对象的内存图

 

一个对象的初始化过程:

对象共享一个方法区域

7.成员变量与局部变量的区别:

(1)类中的位置不同

成员变量:类中方法外 

局部变量:方法内或方法生命上

(2)内存中的位置不同

成员变量:堆内存

局部变量:栈内存

(3)生命周期不同

成员变量:随着对象的存在而存在,随着对象的消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

(4)初始化值不同

成员变量:有默认的初始化值

局部变量:没有初始化值,必须先定义,赋值,才能使用

8.匿名对象:没有名字的对象

使用情况:(1)对象调用方法仅仅一次的时候

     (2)作为实际参数传递

9.封装

(1)概述:隐藏对象的属性和实现细节,仅对外提供公共访问方式

(2)好处:隐藏实现细节,提供公共的访问方式

      提高了代码的复用性

      提高了安全性

(3)封装原则:将不需要对外提供的内容都隐藏起来

        把属性隐藏,提供公共方法对其访问

10.private关键字:

       概述:是一个权限修饰符

          可以修饰成员(成员变量和成员方法)

          被private修饰的成员只能在本类中才能访问

           常见应用:把成员变量用private修饰

          提供对应的setXxx()/getXxx()方法

11.this关键字:

     概述:代表所在类的对象引用

        方法被哪个对象调用,this就代表那个对象

      使用:局部变量隐藏成员变量时

12.构造方法:

概述:给对象的数据进行初始化

格式:  方法名与类名相同

    没有返回值类型,连void都没有

    没有具体的返回值

注意事项:如果自己没有提供构造方法,系统会给出默认构造方法

      如果自己提供了构造方法,系统将不在提供

     构造方法也是可以重载的。

13.类的成员方法分类:

无参无返回值;

无参有返回值;

有参无返回值;

有参有返回值;

14.一个标准类的基本写法

类:成员变量

  构造方法:

    无参构造方法

    带参构造方法

  成员方法:

     getXxx()

    setXxx()

    给成员变量赋值:

    无参构造方法+getXxx()

    带参构造方法

 

标签:java,变量,构造方法,对象,成员,局部变量,笔记,面向对象,方法
From: https://www.cnblogs.com/black-rosebush/p/17787748.html

相关文章

  • Java笔记——数组静态初始化开始
    一维数组:静态初始化:定义格式:(1)数据类型[]数组名=new数组类型[](2)数组类型[]数组名={元素1,元素2,.....}练习:数组元素逆序:publicstaticvoidmain(String[]args){int[]arr={1,2,3,4,5,6,7,8,9,10};System.out.println("逆序前:");for(inti......
  • Python 面向对象编程:类、对象、初始化和方法详解
    Python是一种面向对象的编程语言。在Python中,几乎所有东西都是对象,都具有其属性和方法。类似于对象构造函数或用于创建对象的“蓝图”的类。创建一个类要创建一个类,请使用关键字class:示例,创建一个名为MyClass的类,其中包含一个名为x的属性:classMyClass:x=5创建......
  • 超市自助付款系统 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1103977029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要本博客设计实现了超市购物自助付款系统,该系统采用最新的技术,包括Vue以及SpringBoot等技术方法,实现了快速精准的商品结算,同时,......
  • 校园二手交易系统 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1103978029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要随着国家生产力的发展,越来越多商品被生产了出来,超过了人们的实际消耗量,所以产生了大量闲置的商品,这些闲置商品有些被遗弃、有......
  • Python 面向对象编程:类、对象、初始化和方法详解
    Python是一种面向对象的编程语言。在Python中,几乎所有东西都是对象,都具有其属性和方法。类似于对象构造函数或用于创建对象的“蓝图”的类。创建一个类要创建一个类,请使用关键字class:示例,创建一个名为MyClass的类,其中包含一个名为x的属性:classMyClass:x=5创......
  • 智能停车场管理系统 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1103632029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要随着我国经济的不断发展,人民生活水平的也日益提高,外出购物、旅游意向也越来越强,对交通出行的需求也越来越大。在一些大型商贸......
  • 并发学习笔记
    本人最近在用C++进行并发编程,虽然之前都已经完成了6.824的lab,但对并发的很多细节还是知其然和不知其所以然,于是决定在此记录一下学习到的相关知识。首先声明,本人水平十分有限,而关于这类问题也有很多深度好文,在此记录的仅为简化的自己的理解。cacheline与falsesharing想必大......
  • 【百度智慧云】语音技术-短语音识别 JavaScript
    提要代码目的:通过JavaScript代码,完成用百度智能云的语音技术-短语音识别功能,实现语音转文字效果。需要先有百度智慧云账户,且开通短语音试别业务以下是使用到的数据信息:AccessToken获取方式cuid获取方式测试音频点击下载-JianWangChao.wav点击下载-jiarenmen.wav......
  • RT-Smart 应用开发笔记:fopen 造成文件被清空问题的分析记录
    前言RT-Smart应用(apps)开发环境,ubuntu20.04+win10VSCode最近在调试一个问题,需要使用FILE的fopen、fread等去读取处理一个大文件,为了尽快复现验证问题,随手搜了一下fopen等几个API的用法,调试时闹出来一个【笑话】,程序运行所到之处,把处理过的本地文件清空了。当时初步的目......
  • Java系列 | 如何讲自己的JAR包上传至阿里云maven私有仓库【云效制品仓库】
    什么是云效云效是云原生时代一站式BizDevOps平台,产研数字化同行者,支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现产研数字化,打造“双敏”组织,实现10倍效能提升。制品仓库Packages云效制品库Packages致力于帮助开......