------- android培训java培训、期待与您交流! ----------

面向对象:

面向对象是相对面向过程而言

面向对象和面向过程都是一种思想

面向过程 强调的是功能行为

面向对象 将功能封装进对象,强调具备了功能的对象。

面向对象是基于面向过程的。

可以理解面向对象就是面向工具,我可以使用这个工具做一些事情。

面向对象的特点:

是一种符合人们思考习惯的思想;可以将复杂的事情简单化;将程序员从执行者转换成了指挥者。

完成需求时:

•  先要去找具有所需的功能的对象来用。

•  如果该对象不存在,那么创建一个具有所需功能的对象。

•  这样简化开发并提高复用。

面向对象开发,设计,特征

开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。

设计的过程:其实就是在管理和维护对象之间的关系。

面向对象的三个特征:     封装(encapsulation)      继承(inheritance)        多态(polymorphism)

类与对象的关系

使用计算机语言就是不断的在描述现实生活中的事物。

java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。

对象即是该类事物实实在在存在的个体,存在于堆内存中。

类的定义

描述一事物实际上就是描述属性和行为。

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

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

/**
* 用程序简单演示一个类,如:小汽车
*/
public class CarDemo
{
public static void main(String[] args)
{
Car c = new Car();//创建一个c的小汽车对象
c.run();//这个小汽车可以跑
}
} class Car //声明描述一个小汽车的类
{
//定义一些基本特征
String color = "red";
int num = 4; //车本身有跑行为
void run()
{
System.out.println("The car is a "+color+" car,it have "+num+" wheels. The car can run");
}
}

成员变量和局部变量的区别?

成员变量:

     成员变量定义在类中,在整个类中都可以被访问。

     成员变量随着对象的建立而建立,存在于对象所在的堆内存中。

     成员变量有默认初始化值。

局部变量:

   局部变量只定义在局部范围内,如:函数内,语句内等。

   局部变量存在于栈内存中。

   作用的范围结束,变量空间会自动释放。

   局部变量没有默认初始化值。

匿名对象

匿名对象是对象的简化形式,两种使用情况:

                                                                              当对对象方法仅进行一次调用的时

                                                                              匿名对象可以作为实际参数进行传递     例:System.out.println( new Car().num = 3);

------- android培训java培训、期待与您交流! ----------

黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象的更多相关文章

  1. 黑马程序员——JAVA基础之简述多线程,两种创建多线程的方式

    ------- android培训.java培训.期待与您交流! ---------- 多线程: 进程和线程: 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者 ...

  2. 黑马程序员——JAVA基础之简述设计模式

    ------- android培训.java培训.期待与您交流! ---------- 设计模式(Design Patterns) 设计模式(Design pattern)是一套被反复使用.多数人知晓 ...

  3. 黑马程序员——JAVA基础之简述 类的封装

    ------- android培训.java培训.期待与您交流! ---------- 类的封装(Encapsulation)  封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 封装优 ...

  4. 黑马程序员——JAVA基础之简述集合collection

    ------- android培训.java培训.期待与您交流! ---------- 集合: 为什么出现集合类? •  面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对 ...

  5. 黑马程序员——JAVA基础之简述 类的继承、覆写

    ------- android培训.java培训.期待与您交流! ---------- 继承的概述: 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只 ...

  6. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)

    正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G  QQ 1481135711 这是我总 ...

  7. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  8. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  9. 黑马程序员——JAVA基础之泛型和通配符

    ------- android培训.java培训.期待与您交流! ---------- 泛型:            JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...

随机推荐

  1. Twitter CEO:有望进军中国 不会改变原则

    新浪科技讯 8月12日下午消息,据台湾“中央社”报道,Twitter CEO科斯特洛(Dick Costolo)日前接受<日经新闻>专访时指出,Twitter有望进军中国大陆,科斯特洛表示 ...

  2. poj2891 拓展欧几里得

    //Accepted 164 KB 16 ms //拓展欧几里得 //m=a1*x+b1 --(1) //m=a2*(-y)+b2 --(2) //->a1*x+a2*y=b2-b1 //由欧几 ...

  3. tableviewcell的取消选中,高亮

    1.取消多余cell的分割线 UIView *view = [UIView new]; view.backgroundColor = [UIColor clearColor]; [tableView ...

  4. servlet容器处理请求过程

    下图是关于tomcat服务器接收客户请求并作出响应的图例. tomcat不仅仅只是一个servlet容器,也是一个web服务器,servlet容器在web服务器之内或者说servlet容器托管于web ...

  5. 链表(C++语言实现)

    我使用的是严蔚敏的数据结构C语言版,很反感里面的全是伪代码,平常也没怎么敲代码,链表和顺序表是数据结构的第一个实验课程,顺序表还好,但是链表就有点困难了,因为里面涉及指针的运用.我对于指针并不是很精通 ...

  6. 层次分析模型(AHP)及其MATLAB实现

    今天用将近一天的时间学习了层次分析模型(AHP),主要参考了一份pdf,这个网站,和暨南大学章老师的课件,现写出一些自己总结的要点. 一.层次分析法的基本步骤: 角度一: 实际问题——分解——> ...

  7. TableView--通讯录--开篇

    一,需求图:

  8. NLP(Natural Language Processing)

    https://github.com/kjw0612/awesome-rnn#natural-language-processing 通常有: (1)Object Recognition (2)Vis ...

  9. VirtualBox 设置共享文件夹自动挂载

    1.在VirtualBox中设置文件夹位置和名称,这里使用的名称是share 1.在ubuntu12.04的/etc/rc.local中加入自动挂载命令 sudo mount -t vboxsf sh ...

  10. 再生核希尔伯特空间(RKHS)在监督学习(SVM)中的应用

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2014/4/10 在网上找到一个讲reproducing kernel的tutorial看了一看,下面介绍一下. 首先 ...