java基础学习_面向对象(上)02_day07总结

=============================================================================
=============================================================================
涉及到的知识点有:
---------------------------------------
-----------------------------------------------------------------------------
=============================================================================
=============================================================================
1:成员变量和局部变量的区别(理解)
  (1)在类中的位置不同:
    成员变量:在类中方法外。
    局部变量:在方法定义中或者方法声明上(即形参)。
  (2)在内存中的位置不同:
    成员变量:在堆中。
    局部变量:在栈中。
  (3)生命周期不同:
    成员变量:随着对象的创建而存在,随着对象的消失而消失。
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
  (4)初始化值不同:
    成员变量:有默认值。
    局部变量:没有默认值,必须定义,赋值,然后才能使用。
  (5)注意事项:
    局部变量名称可以和成员变量名称一样,但是在方法中使用该变量的时候,采用的是就近原则(先找小范围,再找大范围)。
-----------------------------------------------------------------------------
2:类作为形式参数的问题?(理解)
  (0)之前学的形式参数问题:
    基本数据类型(数值型、字符型、布尔型):形式参数的改变不影响实际参数。
    引用数据类型(类、接口、数组):形式参数的改变会直接影响实际参数。
  (1)如果一个方法的形参的数据类型是一个类时(即引用数据类型),这里的形参其实需要的是该类的一个具体的对象。
如下图所示01:


-----------------------------------------------------------------------------
3:匿名对象(理解)
  (1)就是没有名字的对象(是对象的一种简化表示形式)。
  (2)匿名对象的应用场景:
    A:对象调用方法仅仅一次的时候。
      注意:调用多次对象的时候,不适合。
    那么,这种匿名对象调用方法有什么好处吗?
      有,匿名对象调用方法完毕后就是垃圾。可以被垃圾回收器回收,提高内存使用效率。
    B:匿名对象可以作为实际参数进行传递。
如下图所示02:


-----------------------------------------------------------------------------
4:封装(理解)
  (1)是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
  (2)好处:
    A:隐藏实现细节,提供公共的访问方式。
    B:提高了代码的复用性。
    C:提高了代码的安全性。
  (3)设计原则
    把不想让外界知道的实现细节给隐藏起来,把属性隐藏,提供公共的访问方式。
  (4)private是封装的一种体现之一。
    封装体有这几个:
      (1)类
      (2)方法
      (3)private修饰成员变量
-----------------------------------------------------------------------------
5:private关键字(掌握)
  (0)是一个权限修饰符。
  (1)私有的意义,可以修饰成员变量和成员方法。(一般来说,private多用来修饰成员变量,少用来修饰成员方法。)
  (2)特点:
    被private修饰的成员只能在本类中被访问。要想访问它,它就要对外提供公共的访问方式。
  (3)private的应用:
    以后再写一个类的时候:
    把所有的成员变量给private了。
    提供对应的getXxx()/setXxx()方法。
-----------------------------------------------------------------------------
6:this关键字(掌握)
  (0)name = name; //把自己赋值给自己,没有任何意义。(变量的使用规则:就近原则)
  (1)代表当前类的引用对象。简单的记,它就代表当前类的一个具体对象。
    记住:哪个对象调用方法,在该方法内部的this就代表哪个对象。
  (2)this的应用场景:
    A:解决了局部变量隐藏成员变量的问题。
    B:其实this还有其他的应用,其他用法后面和super一起讲解。
如下图所示03/04:


-----------------------------------------------------------------------------

原文地址:https://www.cnblogs.com/chenmingjun/p/8440077.html

时间: 2024-10-07 23:07:33

java基础学习_面向对象(上)02_day07总结的相关文章

java基础学习_面向对象(上)01_day07总结

==========================================================================================================================================================涉及到的知识点有:1:面向对象(掌握) (0)面向过程和面向过程开发 (1)面向对象思想概述 (2)面向对象的思想特点 (3)把大象装进冰箱(理解) (4)类与对象的关系 (5)类的定义及使用

java基础学习_面向对象(上)03_day08总结

==========================================================================================================================================================涉及到的知识点有:0:前面学习通过方法对代码进行改进,为什么要给方法使用静态呢?1:Java如何制作帮助文档(API)(了解)2:通过JDK提供的帮助文档(API)学习了Math类(掌握)3:

java基础学习_面向对象(下)01_day08总结

==========================================================================================================================================================涉及到的知识点有:1:继承(掌握) (0)Java继承概述 (1)继承定义 (2)Java中如何表示继承呢?格式是什么呢? (3)继承的好处 (4)继承的弊端 A:让类的耦合性增强.这样某个类

java基础学习——对面向对象的重识

最近几天在看java的视频,感觉很多东西java语法上很像c#,但是还是有很多内容惊到我: 1,java虚拟机 用过VMWar或者VirtualBox的童鞋都对"虚拟机"这个词有个大致的了解,虚拟机提供了个虚拟的平台,让我们可以模拟一些脱离硬件的环境.java里的虚拟机起到了一个类似以前学过的ODBC驱动程序的作用,它屏蔽了底层的差异,让操作系统通过虚拟机向下面看去,操作系统的感觉都是一样的. 有了这一层东西,我们彻底解开了底层硬件和运行操作系统之间的耦合,实现了一次编译,到处运行的梦

java基础学习总结——面向对象1

目录 一.面向过程的思想和面向对象的思想 二.简单理解面向对象 三.面向对象的设计思想 四.对象和类的概念 五.如何抽象出一个类? 六.类(对象)之间的关系 七.Java与面向对象 八.为什么使用面向对象编程? 一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方

java基础学习05(面向对象基础01--类实例分析)

面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过setter和getter设置和取得4.如果需要可以加入若干构造方法 5.再根据其它要求添加相应的方法6.类中的所有方法都不要直接输出,而是交给被调用处调用 Demo 定义并测试一个名为Student的类,包括属性有"学号"."姓名"以及3门课程"数学".

java基础学习05(面向对象基础02)

面向对象基础02 实现的目标 1.String类的使用 2.掌握this关键字的使用3.掌握static关键字的使用 String类 实例化String对象一个字符串就是一个String类的匿名对象,就是已经开辟了堆内存空间的并可以直接使用的对象.1.采用直接赋值的方式进行操作. String name = "zhangsan"; 使用这种方式,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明时,就不会再开辟内存空间.2.直接调用String类的构造方法(public S

java基础学习笔记day01

java基础学习笔记day01 1.软件开发: 软件:按照特定顺序组织的计算机数据和指令的集合 开发:软件的制作过程 软件开发:借助开发工具和计算机语言制作软件 2.java概述: java之父:詹姆斯·高斯林 JDK:java开发环境 jre:java运行环境 JVM:java虚拟机 java跨平台是因为,JVM能在不同的平台运行,JVM是跨平台的 JavaSE:标准版 JavaME:手机端,物联网 JavaEE:企业版,互联网项目 3.java语言特点: 简单性 解释性 面向对象 高性能 分

Java和C#在面向对象上语法的区别

做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材有了一遍系统深入的学习.虽然教的和学的都很肤浅,但是为了帮助学生们理解,然后自己也会思考为什么会这样?这种来自于最基础的思考,一直向上反馈,发现这种思考原来可以令自己进步的非常快.虽然目前还在思考入门阶段的问题,已经受益良多了.那么如果把之前的开发中的问题都思考一遍,又能收获多少能?写写博客吧,一直