`
wangjie2013
  • 浏览: 169021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java笔记(05,面向对象思想和如何写“类”)

    博客分类:
  • JAVA
阅读更多

 

 Last modified:2013-04-09 23:23:55

****************************************

 

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

一切皆对象。

 

人开门:名词提炼法,找到对象。

编程时,先找现成对象,如果没有就自己造一个对象。

 

类:对现实生活中事物的描述;

对象:就是指某类事物实实在在存在的个体

 

映射到java中,描述就是class定义的类;

具体对象就是对应java在对内存中用new建立的实例。

描述事物就是在描述事物的属性行为

属性对应是类中的变量,行为对应的类中的函数(方法)

其实定义类就是在描述事物,就是在定义属性和行为。属性和行为又共同称为类中的成员成员变量和成员函数)。

类类型的变量指向对象。

 

java指挥方式:对象.对象成员

对象用来封装数据。

成员变量和局部变量:(java没有全局变量)

作用范围

成员变量:作用于整个类中;

局部变量:作用于函数中,或者语句中;

在内存中的位置

成员变量:在堆内存中,因为对象的存在才在内存中存在;

局部变量:存在与栈内存中。

 

匿名对象:对象方法只调用一次或作为实际参数进行传递;

 

private:私有,权限修饰符,用于修饰类中的成员(成员变量,成员函数)私有只在本类中有效。

成员变量有初始化值。(在堆内存中)

 

注意:私有仅仅是封装的一种表现形式。

之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。对访问的数据进行操作,提高代码健壮性

 

对象一建立就会调用与之相对应的构造函数

构造函数的作用:可以用于给对象进行初始化

构造函数的小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。

形如:Person(){}

 

构造函数和一般函数在写法上不同。

在运行上也有不同。

构造函数是在对象一建立就运行,给对象初始化。

而一般方法是对象调用才执行,是给对象添加具备的功能。

一个对象建立,构造函数只运行一次

而一般方法可以被该对象调用多次

 

什么时候定义构造函数:当分析事物时,该事物存在就具备一些特性或者行为,将这些内容定义在构造函数中。

 

构造代码块:

          S.O.P("CODE RUN!");   // 存放共性的初始化内容。

 

作用:给对象进行初始化;

对象一建立就运行,而且优先于构造函数执行

和构造函数的区别:

构造代码块是给所有的对象进行统一初始化。

而构造函数是给对应的对象初始化。

构造代码块中定义的是不同对象共性的初始化内容;

 

this关键字: 

this:用于区分局部变量和成员变量同名的情况;

this为什么能解决这个问题呢?this到底代表什么?

this就代表本类的对象;

this代表他所在函数所属对象的引用;

简单说:那个对象在调用this所在的函数,this就代表那个对象。

肯定有一个对象在运行,运行时是哪一个对象this就代表哪个。

看到this就想到this代表一个对象,谁引用他他就代表谁

this();

this语句用于构造函数之间进行互相调用

this语句只能定义在构造函数的第一行,因为初始化要先执行。

 

this的用法:用于区分同名变量;用于构造函数间调用;一般函数是不能直接调用构造函数的,this语句是不能用在一般函数中的。只能用在构造函数间。

 

分享到:
评论

相关推荐

    Java面向对象思想与程序设计(刘彦君版)电子笔记,附上部分源码

    Java面向对象思想与程序设计电子笔记(刘彦君版),帮助Java学习者从入门走向精通。这是个很高的目标,非常具有挑战性,本笔记就是融合初学者学习的困难,将抽象困难理解的Java入门变得简单易懂,方便初学者跨入Java...

    java编程思想学习笔记

    Java是一种面相对象的编程语言。计算机语言分成两种,第一种是面向机器结构的语言,构建数据模型是基于机器的结构。第二种是面向待解决问题结构的语言,构建数据模型是基于问题的结构。Java提供了更丰富的工具来描述...

    Java学习笔记(必看经典)

    比较面向过程的思想和面向对象的思想: 面向过程的思想:由过程、步骤、函数组成,以过程为核心; 面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。 面向过程是先有算法,后有...

    java学习笔记

    内容详细记录了java面向对象的编程思想,java类集,IO编程以及JDBG,还有工厂设计等模式,相信会对java初学者有很大帮助

    一个大神读Thinking in Java 写下的笔记

    这是我从一位认识的大神那里要来的第一手资料,主要是他对Java面向对象的一些认识,我看了之后顿时犹如醍醐灌顶,对面向对象的思想有了深刻认识!原来以前只是学了皮毛而已。遗憾的是,这个笔记他没有写完,我只是看...

    Java学习笔记(必看经典).doc

    里面包含基础知识,如修饰符,常用的关键字等,内部类,面向对象思想,异常处理相关知识点,常用集合知识点等等。

    JAVA面向对象初学笔记

    面向对象是一种思想 在现实中实际存在,符合人类的思维方式。 当我们睁开眼的时候,大脑中就会出现一个事物(对象),这个事物具有他的特征(属性)和他的功能(方法),对于大脑中的这个事物存在一个类来包含类似事物。 ...

    记录所有有关java的学习笔记.rar

    JAVA是一种面向对象的程序设计语言,面向对象就是在计算机设计程序过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 1.1 面向对象 面向对象编程的本质就是:以类的方式...

    Java-note:Java学习笔记

    Java-noteJava学习笔记java相关Java基础Java集合JVMJava并发线程池Java网络计算机基础数据库计算机网络操作系统面向对象思想面向对象设计模式Java WebSpringSpringBoot

    java从零基础到精通 学习笔记 (带批注) 完整版PDF

    Java常年占据热门编程语言排行榜第一,Java工程师综合就业排名第一,完成此路径能够应用SSM常用框架结合面向对象编程思想实现项目开发,完成Linux系统下的项目部署运行。将能胜任月薪8,000RMB--15,000RMB的职位,...

    Java/JavaEE 学习笔记

    第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 异常.............74 第八章 图形用户接口:GUI.............78 第十一章 事件处理模型....................79 第十三...

    java笔记介绍

    2、从面向对象的思想来说我们又把实例变量看成一个类的属性。 3、实例变量在没有符初值时系统会自动帮我们做初始化: 整型数据初始化为 0,布尔型数据初始化为 false,对象类型初始化为 null。 实例变量的作用域...

    【java编程思想第五版笔记】第八章复用(更新中)

    【java编程思想第五版笔记】第八章复用(更新中)面向过程和面向对象复用的区别:组合的语法关于上面的程序的解析初始化引用有四种方法:继承语法 更新自2020.04.22 代码复⽤是⾯向对象编程(OOP)最具魅⼒的原因之⼀...

    Springboot017基于springboot的学生读书笔记共享毕业源码案例设计

    本论文主要论述了如何使用JAVA语言开发一个读书笔记共享平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及...

    基于SpringBoot+Vue+Mysql的学生读书笔记系统(源码+论文)

    本论文主要论述了如何使用JAVA语言开发一个读书笔记共享平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及...

    整理后java开发全套达内学习笔记(含练习)

    进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时,加上“final”关键词来限定,这个...

    毕业设计,基于SpringBoot+Vue+MySql开发的学生读书笔记共享网站,内含完整源代码,数据库脚本,论文视频,视频教程

    本论文主要论述了如何使用JAVA语言开发一个读书笔记共享平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及...

    c#学习笔记.txt

    看完了前面几段,我的朋友提出了不同的意见:C#不是Java的Clone,它只是长得有些像Java而已,其实面向对象、中间语言什么的也不是什么新玩意儿,非Sun独创,有文为证:华山论剑:C#对Java。另外他对我上一集中说...

    J2EE初级程序员学习笔记

    为初学者提供良好的开发思想,充分讲解了JAVA面向对象的开发思想和基本理论和语法,提供了常用的类库用法。

Global site tag (gtag.js) - Google Analytics