黑马程序员_java学习笔记 5.java面向对象特性
来源:互联网 发布:情景喜剧排行知乎 编辑:程序博客网 时间:2024/06/11 23:59
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
java面向对象特性
一、面向对象的定义
1、基本概念
面向对象是相对面向过程而言。
面向对象和面向过程都是一种思想
面向过程:强调的功能的行为,执行者
面向对象:将功能封装进对象,强调具备了功能的对象。指挥者
面向对象是基于面向过程的。
2、面向对象思想的特点
1:它是一种更符合人们思考习惯的思想
2:它是复杂的内容简单化
3:它使我们从执行者变成了指挥者
二、类和对象的关系
1、类的定义
类:就是对现实生活中事物的描述。
2、类的构成
类的默认修饰符是internel 字段属性方法的默认修饰符是private
类的成员:就是组成类的元素,包括描述状态的数据成员(字段、常量等)和描述操作的函数(属性、方法、构造函数等)
字段:类内定义的变量,描述类的特征。如人类有身高、体重等字段。
属性:是字段的扩展,可以设置可读可写,可以理解为高级字段。
方法:用来描述对象的行为,如动物类都有吃东西的方法。
静态成员:用static修饰,可以直接用“类名.静态成员”来调用,不用创建对象。如手机都有打急救电话的功能,打急救电话就可以定义为静态方法,用“手机.急救电话”就可以用
3、访问修饰符
访问修饰符:是对类的访问的限制级别。
public:公有的,所有的地方都可以访问
protected:只有该类和该类的子类可以访问,其他地方不能访问
private:只有该类本身可以访问,其他地方不能访问
internal:当前项目可以访问
4、类和对象的关系。
现实生活中的对象:张三、李四
映射到java中,描述就是class定义的类。
5、对象(类的实例):
类的声明并没有创建这个类任何对象,对象是类的一个实例,它对应着显示世界中的具体的事物。它拥有自己的属性和具体的方法。属性则是对象的特征,方法则表示了对象的行为。
我们通过new关键字来创建一个对象。在创建对象的同时,需要将一个引用存储到一个具有合适的类型的变量中。引用时对象的一个地址。通过这个引用,也是一个句柄来操作实例的属性和方法。
- <pre name="code" class="java">class Person</span>
- {
- //一个人有名字
- String name = “张三”;
- //一个人的年龄
- int age = 20;
- //一个人有说话的行为
- public void speak()</span>
- {
- System.out.println(“ 我会说话,会唱歌”);
- }
- public static void main(String[] args)</span>
- {
- Person p = new Person();
- System.out.println(“这个人的名字是:”+ p.name + “ 这个人今年:”+p.age);
- pspeak();
- }
- }
三、构造函数&构造代码块
1、构造函数
构造函数:用于给对象进行初始化。
构造方法的方法名必须与类名相同。
作用:构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
2、构造代码块:
对象一建立就运行,而且优先于构造函数执行
3、构造函数于一般函数的区别:
1、从功能上的区别:
构造函数是给对象初始化的
一般函数是给对象添加对象具备的功能
2、从执行上的区别:
构造函数,是对象创建的时候被执行,不能被调用。
一般函数是什么时候调用,就什么时候执行,不调用就永远不执行,给对象添加对象具备的功能
3、构造代码块和构造函数的区别:
构造代码块中定义的是不同对象共性的初始化内容。
举例:人开门,把大象装进冰箱,在黑板上画圆,火车司机停车
四、多态:
多态是指以相同的方法处理来自不同类的对象。为了使多态能正常运行,这些不同的类必须从同一个基类中派生出来。实际上,多态经常通过一种方法的调用,而实质是对不同类的对象执行不同的方法。
- 黑马程序员_java学习笔记 5.java面向对象特性
- 黑马程序员_java面向对象学习笔记
- 黑马程序员_java面向对象基础学习笔记
- 黑马程序员_java基础学习笔记04_面向对象
- 【黑马程序员】 学习笔记 - Java面向对象
- 黑马程序员——JAVA学习笔记——面向对象(三大特性)
- 黑马程序员_java面向对象
- 黑马程序员_JAVA面向对象
- 黑马程序员_Java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_java面向对象
- 黑马程序员_Java面向对象
- LSTM模型
- 深入理解C++
- 规范命名
- 单例模式---设计模式(一)
- Git入门教程
- 黑马程序员_java学习笔记 5.java面向对象特性
- How does Spring know that ThrowsAdvice.afterThrowing needs to be called?
- java学习2-循环中的嵌套语句2
- Spring与Quartz的整合实现定时任务调度
- iPhone如何查询序列号 iPhone激活时间查询
- javascript深入理解js闭包
- mac10.10Apache配置笔记
- 锚点的使用(链接到网页中某个位置)
- PayPal Express Checkout开发