黑马程序员——java基础笔记:面向对象
来源:互联网 发布:淘宝异常订单删除评价 编辑:程序博客网 时间:2024/06/07 06:12
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一:面向对象
- 在我们的现实生活中,一切都是对象。而计算机语言设计各种程序,其实就是为了模拟我们的现实生活。网络世界其实也是现实生活的一种反应。我们在程序的设计过程中,经历过了从开始的面向机器、到面向过程和现在的面向对象。我们使用面向对象语言设计程序的时候,要考虑的是对象是什么,对象的属性,对象能做什么,对象和对象之间有什么联系等等。这就完全与我们显示生活连起来了,更有助于我们设计程序。java语言正是面向对象的语言。
二:类和对象
- 1:类
什么是类?在现实生活中,我们总是习惯把各种具有某些相同特性的事物划分为一个类,比如所有的马可以分为一个马类,所有的花是一个花类。在java语言中,也是如此。我们把某些具有相同属性和行为的对象抽象为一个类,该类是所有具有这些属性和行为的一个模板,而每个对象就是依照该模板创建出来的一个实体。类的声明格式如下:
1 class ClassName{2 {3 ClassBody //类体中给出类的成员变量和成员方法的定义。4 }
类的成员变量用于存储对象的属性,方法用来描述对象的行为。类体中不能有独立执行的代码块,所有的执行代码只能出现在方法中。 对象:类被声明以后,就可以创建对象了,被创建的对象成为类的实例。程序使用对象要经历以下步骤:声明对象,创建对象,使用对象和撤销对象。 声明对象:由于类是一种引用类型,声明变量只是命名一个变量,这个变量能引用类的对象。由于此时对象还没有被创建出来,所以暂时不会为它分配内存。 创建独享:就是为对象分配内存,也叫作类的实例化。一般形式为:new 构造方法()。 使用对象:使用对象就是访问对象的属性和调用对象的方法,一般通过"."操作符来进行。 类是用来封装对象的属性和方法的,在类中,有类属性和对象属性、类方法和对象方法之分。被static关键字修饰的属性和方法是属于整个类的,可以直接通过类名来调用。而没有static关键字修饰的属性是属于对象的。必须通过对象"."来调用。
面向对象的三大特性:继承、封装和多态。
- 继承:什么是继承?继承就是一个类可以继承另外一个类,被继承的类称为该类的父类或者超类,继承的类叫做父类的子类。继承之后,子类拥有了父类的非私有的属性和方法。继承最大的好处就是代码的重复利用。但是,在Java语言里,只能是单继承的,就是说一个子类只能继承一个父类,但是一个类可以被多个类继承,就相当于一个儿子只有一个爸爸,而一个爸爸可以有多个儿子。而且继承具有传递性,子类的父类是该子类的子类的父父类,也具有该父父类的非私有属性和方法。在java里面,用一个关键字extends来表示继承关系,代码如下:
1 class A extends B{2 classBody //方法体3 }
- 封装:封装就是把类的属性和方法设为私有的,用private关键字修饰,这样别的对象就不能直接调用该类的方法,也不能随意修改属性,起到一个保护的作用。其实一个类就是封装了该类的属性和方法,我们在创建一个类的时候,一般都把属性设为私有,然后提供getter和setter方法,供别的对象来调用。
- 多态:可以说因为有了继承和接口,所以才有了多态。多态就是父类的引用或实现了某个接口的引用可以指向子类的或者实现了该接口的类的对象。当子类继承父类时,如果重写了父类的某个方法,当调用这个方法时,实际上调用的是子类中的方法。接口也是一样,当某个类实现一个接口时,必须要重写接口里面的抽象方法,所以当调用该方法时,实际上调用的是该实现类里面的方法。
0 0
- 黑马程序员——java基础笔记:面向对象
- 黑马程序员—Java基础学习笔记之面向对象
- 黑马程序员 java基础<—>--->面向对象
- 黑马程序员——Java基础---java面向对象基础
- 黑马程序员——java基础--面向对象基础
- 黑马程序员———JAVA面向对象程序设计基础笔记
- 黑马程序员—4—Java基础: 面向对象继承学习笔记和学习心得体会
- 黑马程序员——java基础——面向对象
- 黑马程序员——java基础——面向对象
- 黑马程序员——java基础——面向对象
- 黑马程序员——Java基础——面向对象
- 黑马程序员——java基础—-面向对象
- 黑马程序员——java基础—面向对象
- 黑马程序员——Java基础---面向对象
- 黑马程序员——java基础学习(面向对象)
- 黑马程序员——java基础_面向对象
- 黑马程序员-Java基础总结04——面向对象
- 【黑马程序员】Java基础学习博客——面向对象
- 数据库设计中一个矛盾:数据库外键,用还是不用
- GRE写作必备句型
- WeTest —— 手游耗电量测试
- 关于大型网站技术演进的思考(五)--存储的瓶颈(5)
- dsa算法(27完)
- 黑马程序员——java基础笔记:面向对象
- 欢迎使用CSDN-markdown编辑器
- spring事务管理总结
- PHP Framework目录结构
- 基于ctk框架的插件的基本格式
- php5.3.*编译出现make: *** [ext/gd/libgd/gd_compat.lo] Error 1的解决方法
- 关于大型网站技术演进的思考(六)--存储的瓶颈(6)
- STRING INT INTEGER间的转换(ZZ)
- Jquery 定时刷新