java面向对象编程基本概念

原创 2015年07月06日 22:34:08
面向对象基础:

对象的进化史

   a)基本数据类型阶段---->数据少---->无数据管理时代
   b)数组---->数据多了。将同类型的数据放到一起---->弱管理
   c)结构体---->数据多了,数据复杂了。将不同类型的数据放到一起---->强管理
   d)对象----->数据多了、类型复杂了、行为复杂了。将不同类型的数据放到一起---->超强管理
面向对象编程(OOP)的本质

   以类的方式来组织代码,以对象组织数据。对象是具体的事物,类是对对象的抽象

对象和类:

   对象是具体的,类是抽象的。类也是一个模版,通过类这个模版我们也可以new对象。

定义类:

   public    class  类名 {

   //属性
   private  数据类型  属性名; //建议增加相应的getter、setter方法      
   //方法
   //构造方法
}
构造方法:
   1. 方法名必须跟类名保持一致
   2. 无返回类型
   3. 通过new来调用
   4. 无参构造器问题:
      a)如果我们没有手动定义构造器,系统会自动为我们添加一个无参的构造器
      b)如果我们自己定义了构造器,系统就不会为我们添加无参构造器
   5. 构造方法的第一句总是:super,即调用直接父类的构造方法。
      a)有继承关系的构造方法调用的顺序
方法的重载(Overload):
   两同(同一个类、同一个方法名)三不同(参数列表不同:;类型、个数、顺序)
   返回值不同,构成重载吗?  No
   形参名称不同,构成重在吗?  No
this:
   普通方法中,调用本方法的对象。
   构造方法中,正要初始化的对象。
   还可以用来,调用其他的构造方法
super:
static:
   用它修饰的变量和方法,就变成了静态变量和静态方法。从属于类。通过类名即可调用。实际存储于方法区中。
package:
   package必须位于非注释行第一句。
包名:域名到这写
import:
   引入外部的类
Import  static :导入类的静态属性
final:
   修饰变量:常量(命名规范:全部大写,多个单词之间通过下划线隔开)
   修饰方法:不能被重写
   修饰类:不能被继承
面向对象的三大特征:

封装

   通过private、default 、protected、public关键字实现属性或方法的封装。
   “高内聚,低耦合”
继承
   通过extends 。两个好处:
      1.代码重用
      2.通过继承实现对现实世界更加准确的建模
   类只有单继承,没有像C++那样的多继承
   方法重写(Override)的要点:
      =:方法名保持一致
      >=: 子类权限修饰符可以大于等于父类的。
      <=, <=: 子类的返回值类型小于等于父类的类型。子类声明异常类型不能超过父类的类型。
Object类:
   1.是我们所有类的根基类
   2.toString
   3.equals、hashcode
   4.wait、notify、notifyAll

多态(polymorphism)

   三个必要条件:继承、方法的重写、父类引用指向子类对象

动态绑定、静态绑定:抽象类:
   1.包含抽象方法[微软用户3] 的类,一定是抽象类。
   2.抽象类不能被new。
   3.抽象类可以包含:普通方法、成员变量、构造方法
接口:
   1.interface
   2.类实现接口:implements   可以实现多个接口
   3.接口可以多继承

   4.接口定义的一组规范!实现现实世界中这样的逻辑::如果你是…则必须能…

内存机制:
栈     
   1.存放局部变量
   2.不可以被多个线程共享
   3.空间连续,速度快

   1.存放对象
   2.可以被多个线程共享
   3.空间不连续,速度慢,但是灵活
方法区
   1.存放类的信息:代码、静态变量、字符串常量等
   2.可以被多个线程共享
   3.空间不连续,速度慢。但是灵活  
垃圾回收器(GC   Garbage Collection):
   1.程序员不能调用垃圾回收器。但是可以通过System.gc()建议回收。   
   2.finallize:一般用不到

【翻译】Java面向对象编程基本概念——抽象

【翻译】Java面向对象编程基本概念——抽象        原文地址:Understanding Abstraction in Java         在计算科学中,抽象是用具有代表性的语义来定义...

【翻译】Java面向对象编程基本概念——多态

【翻译】Java面向对象编程基本概念——多态        “子类多类通常指的是面向对象编程中,通过上下文来创建不同形态的变量、函数或对象”—维基百科         简单地来说,多态是创建在不同程...

【翻译】Java 面向对象编程基本概念

【翻译】Java 面向对象编程基本概念        原文地址:Java OOPs Concepts         面向对象的理念包含了四个主要原则:抽象(abstraction)、封装(enca...

JAVA面向对象编程基础复习(一)面向对象基本概念

从今天开始有计划的写一些博文。内容主要涉及JAVA语言、面向对象编程、设计模式、android开发(这才是重点嘛)。今天开始写 JAVA面向对象编程基础复习这个系列的文章。 JAVA面向对象编程基础...
  • attmore
  • attmore
  • 2012年05月09日 22:06
  • 2429

iOS OOP 面向对象编程基本概念

1. 面向对象的基本概念 面向对象编程 (OOP, Object Oriented Programming) 面向对象分析 (OOA) 面向对象设计 (OOD) 1. 对象(实例)和抽象(类)对象到类...

python面向对象编程(1)——基本概念,术语,self,构造器

1 python面向对象命名规范 类名通常由大写字母打头。这是惯例标准。 数据值应该使用名词作为名字,方法使用动词加对象的方式,若使用混合记法,则方法名的第一个字母首字母小写,后面的单词的首字母大写。...

面向对象编程和组件对象模型的基本概念

多少年来软件的开发过程并没有很大的改变,软件开发过程中需要面对的主要问题如:开发周期长,难于确保程序的正确性,难于维护等还没有得到非常好的解决,尽管出现了如面向对象,框架设计等等的概念和工具。组件对象...

【慕课笔记】PHP面向对象编程——面向对象的基本概念(DAY 1)

不会面向对象的程序员不是好的程序员 我熟悉面向对象!!!! 面向对象的基本概念 PHP中的面向对象实践 面向对象的基本概念什么是对象对象的基本组成对象的特点什么是面向对象为什么使用面向对象面...

ava面向对象-面向对象编程之基本概念

面向对象这个概念,每本书上的说法定义很多。 我自己根据我的经验,自己归档总结了下, 所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象;其实基本数据类型不能当...

Python3面向对象编程(1):面向对象基本概念

使用Python一年多了,做过一些小工具,也用它解决了不少项目问题,但总感觉有些概念还是比较模糊,对它的认识不够全面。《代码大全》说了,要“深入一门语言去编程,不浮于表面”,所以我打算仔细学习Pyth...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java面向对象编程基本概念
举报原因:
原因补充:

(最多只允许输入30个字)