java学习笔记(3)之面向对象(1)
下面来谈谈我对面向对象的一些理解和总结。
1、什么叫面向对象?我自己的理解就是一种编程思想,强调对象,是一种思考问题的思维模式。在学习面向对象的时候,我们要建立起自己面向对象的思维模式。
(1)、先整体,后局部。
(2)、先抽象,后具体。
(3)、能做什么,再怎么做。
2、面向对象具有什么特点?
(1)、面向对象其实就是一种常见的思想,符合人们参考。
(2)、面向对象的出现,将复杂的问题简单化。
(3)、面向对象的出现,让曾经在过程中的执行者,变成了对象中的指挥者。
3、如何学好面向对象。
掌握一门面向对象的语言的语法,熟悉面向对象的设计原则,熟悉面向对象的设计模式。
4、类与对象
什么是类?
类:分类,类别,通过分类我们可以区分不同的事物种类,所以,类是一组具有相同特性(属性)与行为(方法)的事物的集合。
类与对象的关系?
(1)、类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。
(2)、类有属性和方法组成,属性就相当于一个个体的特征;方法就相当于一个个的行为。
(3)、类是事物的描述,而对象是该类事物的实例。
总结:描述类的目的是为了描述一类事物共有的属性和功能,属性通过变量来刻画而功能通过方法来体现。
5、类与对象的定义格式:
类:定义类其实就是定义类中的成员:成员变量()属性和成员函数(行为方法)。
class 类名称{
属性名称;
返回值类型 方法名称(){}
}
对象:该类事物的实实实在在存在的个体,一个类想要真正的进行操作,则必须依靠对象。
格式:
类名称 对象名称=new 类名称();
如果想要访问类中的方法和属性,按照下面的语法。
访问类中的属性:对象.属性;
调用类中的方法:对象.方法();
6、new关键字
(1)、可以创建一个对象
(2)、可以实例化对象
(3)、可以申请内存空间
在计算机中创建一个Car的实例,通过new
1 Car c=new Car(); //c就是一个类类型的引用变量,指向该类的对象
2 c.num=4; //属性
3 c.color="red"; //
4 c.run(); //行为的调用
7、成员变量与局部变量的区别
(1)、成员变量定义在类中,整个类都可访问。而局部变量定义在函数,语句,局部代码块中,只在所属区域有效。
(2)、成员变量存在于堆内存的对象中。而局部变量存在于栈内存的方法中。
(3)、成员变量随着对象的创建而存在,随着对象的消失而消失。局部变量随着所属区域的执行而存在,随着结束而释放。
(4)、成员变量都有默认初始化值,局部变量没有默认初始化值。
8、匿名对象:没有名字的对象
new Car(); //匿名对象其实就是定义对象的简写程序
有什么限制?
当对象对方法仅进行一次调用的时候就可以简化格式。
new Car().num=5;
java学习笔记(3)之面向对象(1)的更多相关文章
- Java学习笔记16(面向对象九:补充内容)
总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不 ...
- Java学习笔记9(面向对象二:this、继承、抽象类)
就近原则: 类中的方法中的变量和成员变量重名时,调用类的方法时候,生效的是方法中的变量,如果方法中没有定义变量,才会去成员变量中寻找 于是,提出了this关键字,为了区分重名问题 public cla ...
- Java学习笔记8(面向对象3:接口)
接口的概念: 接口是功能的集合,同样可以看最做事一种数据类型,是比抽象类更为抽象的"类”. 接口之描述所应该具备的方法,并没有具体实现,具体的实现有接口的实现类(相当于接口的子类)来完成.这 ...
- Java学习笔记17(面向对象十:综合案例)
在面向对象这个专题的最后 结合前面多篇文章,用到了面向对象的很多方面知识,做了一个简单的案例: 饭店案例: package hotel; /* * 酒店的员工类 * 员工共同特点:姓名,工号,工作方法 ...
- Java学习笔记11(面向对象四:多态)
多态: 举例:描述一个事物的多种形态,如Student类继承了Person类,一个Student对象既是Student,又是Person 多态体现为:父类引用变量可以指向子类对象 多态的前提:必须有子 ...
- Java学习笔记10(面向对象三:接口)
接口: 暂时可以理解为是一种特殊的抽象类 接口是功能的集合,可以看作是一种数据类型,是比抽象类更抽象的"类" 接口只描述所应该具备的方法,并没有具体实现,具体实现由接口的实现类(相 ...
- Java学习笔记8(面向对象一:概念、private)
面向过程的思想:遇到问题,想,我该怎么解决这个问题?然后一步一步解决 面向对象的思想:遇到一件事的时候,思考,我该让谁来做,至于他怎样去做,不是我需要考虑的事情,只要最后做好就行 实际举例:我们要组装 ...
- Java学习笔记15(面向对象八:匿名对象、内部类)
匿名对象: 是指创建对象的时候,只有创建对象的语句,却没有把对象地址值赋给某个变量 创建一个普通对象: Person p = new Person(); 创建一个匿名对象: new Person(); ...
- Java学习笔记14(面向对象七:final、static)
final:意为最终,不可变,是一个修饰词 有时候一个类地功能被开发好了,不想让子类重写,修改,这里就会用到final关键字 final修饰类: 不可以被继承,但是可以继承其他类 示例: public ...
随机推荐
- javaScript判断浏览器类型
<script type="text/javascript"> function getBrowserInfo(){ var OsObject=navigator.us ...
- KAOS模型
问题描述: 我们开发了一种针对时序数据的文件格式TSFile,本身不支持sql查询.为了让公司分析人员能够用SQL进行分析,并且应用一些机器学习算法进行预测,需要设计并实现一个TSFile与Spark ...
- hbase 的体系结构
hbase的服务体系遵从的是主从结构,由HRegion(服务器)-HRegionServer(服务器集群)-HMaster(主服务器)构成, 从图中能看出多个HRegion 组成一个HRegionSe ...
- 用gulp构建你的前端项目
前言 前端技术发展日新月异,随着模块化.组件化的提出,前端变得越来越复杂,静态资源越来越多,那么对静态资源的处理,如压缩,合并,去掉调试信息.. 如果还是人工去处理,效率非常之低且还容易出错,于是自动 ...
- (4)WebApi 跨域问题
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...
- Android基础学习第二篇—Activity
写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- MS SQLServer 批量附加数据库 分类: SQL Server 数据库 2015-07-13 11:12 30人阅读 评论(0) 收藏
************************************************************ * 标题:MS SQLServer 批量附加数据库 * 说明:请根据下面的注释 ...
- 【Android】一种提高Android应用进程存活率新方法
[Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...
- C# ORM中Dto Linq Expression 和 数据库Model Linq Expression之间的转换
今天在百度知道中看到一个问题,研究了一会便回答了: http://zhidao.baidu.com/question/920461189016484459.html 如何使dto linq 表达式转换 ...