`
a0102051365
  • 浏览: 33311 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

笔记心得04

阅读更多
                                        面向对象(OO)
  按照东西的特征和自然组织形式, 进行软件开发过程的
  组织, 是一个开发过程的方法论.

学习面向对象: 学习如何用OO语法描述事物的特征和
  自然组织形式.

学习面向对象思维的前提是朴素的哲学逻辑.
如: 多态, 抽象概念的具体实现是多态的,
   如:美女是多态的!

对象(Object)->东西, 啥都是东西.

类(Class)
  类是用来描述一个领域模型中的具体概念(名词)的.
  领域模型: 一个应用软件业务范畴, 也叫业务模型.
  属性: 描述具体概念的特征.

案例:
  <图书馆管理系统>中的概念: 书 Book
  书的特征: 书号, 书名, 编号, 作者, 价格...

Java中的类语法
  修饰词 class 类名{
  修饰词 类型 属性;
  }
 
  public class Book{
  int id;
  String name;
  String[] authors;
  String isbn;
  double price;
  }

对象(Object)概念的具体实例,对象是类的具体实例!
  《山楂树之恋》是一本书,
  《和空姐同居的日子》是一本书,

引用:是指向具体对象的句柄,相当于自然语言的代词。
  
   请给我《山楂树之恋》这本书,这本书很感人。
   对不起,书卖完了!
  
   代词本身不是对象,代词引用了一个具体对象。
   在特殊情况下代词可能指空。
   经常简单的叙述事物时候,不严格区别代词与对象。
  
Java 中的引用和对象
  Book book = new Book();
  //book 引用变量,具体引用一个书的实例。
  book.name = "月子";
  book.authors = new String[]{"白云","黑土"};
  book = null;//book引用null
  
引用是null时候,访问属性或方法时候会出现:
  空指针异常 java.lang.NullPointerException
 
案例:
  平面绘图坐标系中的一个点(Point),定义合理的属性
  坐标是int类型.
   O+-----------------------------> X
    |
    |
    |
    |
    |          . p(x,y)
    |
    |
    |
    |
   
    Y
  
构造器(构造方法)
  用来描述对象的创建过程的.
  如: 月饼实例的创建, 使用面和馅创建.
              制作(构造器)
  月饼模子(类)  -----> 月饼(对象)
              原料(构建参数)
  
  点类型   -------->  原点
           (0,0)
 
Java中的构造器: 声明在类内部, 方法名与类名一致
  的方法叫构造方法, 构造方法不能声明返回值类型.
  构造方法可以包含参数, 参数一般是创建对象实例
  必须依赖的条件(前提条件).

new运算: 创建对象实例
  1 根据类的属性在堆中分配对象空间.
  2 根据参数类型调用构造器.
  3 new运算返回对象的引用地址.
对象的创建过程
  1 根据类的属性在堆中分配对象空间,并且自动初始化.
  2 根据参数类型调用构造器.

this 是对当前对象的引用, 是当前对象本身.
  可以使用this明确的访问当前对象的属性或者方法
  类似于"我".
this() 是调用本类的其他构造器, 可以使用构造器的
  重用, 简化代码的实现.
  * this() 必须写在构造器的第一行!

构造方法经常会重载
   方法签名 = 方法名+参数类型列表
   方法重载:a 方法名一样 b 方法参数不一样
     也可以说: 方法名一样, 方法签名不同的方法
  
默认构造器
  1 如果类没有声明任何构造器,Javac自动提供一个
  默认构造器, 无参数默认构造器
  2 如果提供构造器声明, Javac将不再提供默认构
  造器.  
   
对象的方法, 表示对象的功能, 依赖于对象存在.
  如: p1.distance() 和 p2.distance()
  方法是动作,是功能,一般用动词声明. 
  方法也经常重载, 重载:方法名一样, 参数不一样
  重载体现了, 功能的多态.
  重载的方法经常互相重用.
 
java方法参数的传递规则: 基于值的传递, 是变量值的
  复制, 基本类型就是其中值的复制, 引用类型是引用
  值(地址)的复制.
  * 变量的值: a 基本类型的值是其本身,
           b 引用变量的值是一个地址值,
             是被引用对象的首地址.
  为了避免引用参数传递的副作用, 建议一切结果使用
  返回值带回. 使用return带回来就可以

数组对象
  int[] ary = new int[10];
  int[] ary1 = ary;
  //数组的复制
  int[] ary2 = new int[10];
  for(int i=0; i<ary.length; i++){
  ary2[i] = ary[i];
  }
  //ary2 是 ary 一个副本
  //java 提供了现成的复制方法:
  int[] ary3 = new int[10];
  System.arraycopy(ary, 0, ary3, 0, 10);
  //Java6 以后提供了:
  int[] ary4 = Arrays.copyOf(ary, 11);
 
元素是对象数组
  String[] authors = new String[5];
  Book[] books = new Book[]{
    new Book(1, "日子"),
    new Book(2, "空姐")};
 
 
分享到:
评论

相关推荐

    Java学习笔记及心得

    ### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...

    java学习心得,笔记,思想

    这篇学习心得主要涵盖了Java的基础知识、进阶概念以及实战应用,同时提及了与Oracle数据库的交互和JDBC(Java Database Connectivity)的使用。 首先,Java的学习从基础开始,包括语法结构、数据类型、控制流程(如...

    pb开发笔记心得

    【PB开发笔记心得】 PowerBuilder (PB) 是一种曾经广泛使用的可视化编程工具,主要用于构建企业级的客户端/服务器(C/S)应用。PB9.0 版本是该系列的一个重要版本,它提供了丰富的功能和易用性,使得开发者能够快速...

    2021读书笔记个人心得体会600字___5篇_最新的读书笔记心得体会总结.docx

    2021读书笔记个人心得体会600字___5篇_最新的读书笔记心得体会总结.docx

    java 经典自学程序及学习笔记心得

    这份“java经典自学程序及学习笔记心得”压缩包是学习Java编程的宝贵资源,包含了实战程序和作者的学习经验,旨在帮助初学者和进阶者更好地理解和掌握Java技术。 一、Java经典程序 Java经典程序通常包括了基础语法...

    ansys笔记心得体会

    ### ANSYS笔记心得体会 #### 一、接触面与目标面定义 在ANSYS软件中进行结构分析时,正确地定义接触面与目标面是至关重要的。接触面通常指的是那些需要考虑接触行为的重要表面,比如两个零件之间的接触界面;而目标...

    CAN总线笔记心得

    **CAN总线笔记心得** CAN(Controller Area Network)总线是一种广泛应用在汽车、工业自动化、医疗设备等领域的通信协议,其特点是数据传输可靠、抗干扰性强。本文将围绕CAN总线的核心知识点,包括iCAN协议、CAN...

    《战胜华尔街-彼得林奇》读书笔记心得doc.doc

    《战胜华尔街-彼得林奇》读书笔记心得doc.doc

    IBatis学习笔记以及使用心得

    IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得

    java学习心得一些笔记

    Java学习心得笔记主要涵盖了几大知识点,包括运算符、Integer类、引用类型、数组、多维数组、字符串类。下面将详细阐述这些内容。 1. **运算符**: 在Java中,运算符包括移位运算符。`是左移运算符,将二进制数向...

    嵌入式软考资料笔记心得

    嵌入式软考资料笔记心得主要涵盖了嵌入式系统设计这一领域的中级知识,结合了2005年至2016年的历年真题解析和学习经验。这些资料对于准备嵌入式软考的考生来说是一份宝贵的参考资料。下面将详细阐述其中涉及的主要...

    jbpm4 学习笔记 心得

    jbpm是一款免费开源的工作流引擎,虽然现在还不完善,但是用起来还是不错的..... 我学习jbpm的一些笔记心得

    幼儿园中班训练笔记心得精选.docx

    幼儿园中班训练笔记心得精选.docx

    幼儿园中班训练笔记心得2021.docx

    幼儿园中班训练笔记心得2021.docx

    C++自己学习的笔记和心得

    同时,要善于总结和归纳,将学习心得转化为自己的知识体系,这对于深入理解和掌握C++大有裨益。注意不断更新知识,适应C++语言的发展,保持学习的热情和毅力,是成为一名优秀的C++程序员的关键。

    程序员开发心得与笔记

    这篇程序员的开发心得和笔记探讨了一个特定的话题:如何从C#中访问DHTML DOM对象。DOM(文档对象模型)是HTML和XML文档的一种标准表示,它允许程序员以结构化的方式访问和修改网页内容。 首先,要实现这一功能,...

    自己学习thinkphp笔记心得注意的和常用的地方

    自己学习thinkphp笔记心得注意的和常用的地方,thinkphp 学习a标签url href src等路径,一些比较容易理解并且会忘记的注意点

    RHCE60学习笔记心得.pdf

    RHCE60学习笔记心得 RHCE60学习笔记心得是RHCSA和RHCE考试的重要参考资料,涵盖了Linux系统管理、网络服务配置、虚拟化技术等方面的知识点。本文档对RHCE60考试的准备提供了详细的指导和建议,帮助考生更好地备考。...

    个人心得笔记20220101

    个人心得笔记20220101

    LoadRunner个人笔记心得

    【LoadRunner个人笔记心得】 LoadRunner是一款功能强大的性能测试工具,由Micro Focus公司开发,用于模拟大量用户并发访问系统,以此来评估应用系统的性能和稳定性。在我深入学习和使用LoadRunner的过程中,积累了...

Global site tag (gtag.js) - Google Analytics