视屏讲解:https://www.bilibili.com/video/av48272174


面向过程 VS 面向对象

面向过程:强调步骤。

面向对象:强调对象。

面向对象的特点就是:隐藏具体实现的细节,将复杂的事情简单化。


代码中的面向对象

import java.util.Arrays;
public class 代码中的面向对象 {
public static void main(String[] args) {
int arr[] = { 1, 2, 3 };
// 面向过程
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 面向对象
System.out.println(Arrays.toString(arr));
}
}

面向对象的好处

大多数观察者相信,通过面向对象编程,开发效率至少提高了5倍,可靠性和理解程度也大为提高。

Reusable:可重用型---UP

Extensibility:可扩展性---UP

Maintainability:可维护性---UP

什么是面向对象?

ALGO语言的设计者霍尔,曾发表演讲说:

our thought ,language ,and actions are based on the designation, description,and manipulation of these objects,either individually or in relationship with other objects.

沿着这样的一个思路方向,人们把现实世界的物,(通过抽象)映射到计算机中,建立计算机可以处理的模型。

object → model

现实世界的物 → 计算机处理的模型

面向对象语言发展


类和对象的关系

  • 类是对一类事物的描述,是抽象的;
  • 对象是类的实例,是具体的。
  • 类是对象的模板,对象是类的实例。譬如按照设计说明书生产具体产品。

类:class

对象:object

实例:instance

已经见过的类和对象:

对象
Scanner sc =new Scanner(System.in);
String s1 = "";
String s2 = new String();

自定义类:

public class 类和对象 {
public static void main(String[] args) {
// 创建对象:对象是类的实例
Car car = new Car();
car.color = "白色";
car.start();
}
}
// 定义类:类是一个概念
class Car {
// 成员变量:属性
String color;
// 成员方法:行为(注:成员方法没有static关键字)
void start() {
System.out.println(color + "汽车启动");
}
}

上述代码的内存解释:

https://www.cnblogs.com/tigerlion/p/10701973.html

Java基础教程——类和对象的更多相关文章

  1. java基础知识—类和对象

    1.对象的特征---类的属性 每个对象的每个属性都有特定的值 对象的操作---类的方法 2.封装 对象同时具有属性和方法两项属性. 对象的属性和方法同时被封装在一起,共同体现事物的特性,二者相辅相成, ...

  2. Java基础-3类和对象声明与创建

    一).在1和2中有粗略介绍过类和对象的概念,在这里简单回顾一下: 对象与类:一个实际或者虚拟的物体,这个物体既是我们的对象,这个物体呢又是属于一个分类,如动物类,人类 二).创建对象: 在创建对象的时 ...

  3. Java基础IO类之对象流与序列化

    对象流的两个类: ObjectOutputStream:将Java对象的基本数据类型和图形写入OutputStream ObjectInputStream:对以前使用ObjectOutputStrea ...

  4. 【BigData】Java基础_类和对象的基本使用

    1.需求描述 ①定义一个学生类,然后根据该类创建3个具体的学生对象 类中包含信息:学生姓名.学号.年龄.性别.所在地址 ②将这三个学生对象存入到数组中 ③然后将数组对象按照学生的年龄倒序排序 2.代码 ...

  5. Java基础教程(12)--深入理解类

    一.方法的返回值   当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: ...

  6. Java基础教程:对象比较排序

    Java基础教程:对象比较排序 转载请标明出处:http://blog.csdn.net/wangtaocsdn/article/details/71500500 有时候需要对对象列表或数组进行排序, ...

  7. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  8. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  9. Java基础教程——Date类和Calendar类

    Date类和Calendar类都是关于日期的类,都在java.util包中,使用时需要import. Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时 ...

随机推荐

  1. Java反射:new一个宝可梦吧

    最近写Spring Boot的测试用例会发现经常会有用到@RunWith(SpringRunner.class)的设置注解,关于SpringRunner.class的理解也有点似是而非.其实这种写法是 ...

  2. 使用Azure静态Web应用部署Blazor Webassembly应用

    上一次演示了如何使用Azure静态web应用部署VUE前端项目(使用 Azure静态web应用+Github全自动部署VUE站点).我们知道静态web应用支持VUE,react,angular等项目的 ...

  3. 【转】not found while looking for property错误

    原址:http://blog.csdn.net/y3wegy/article/details/7840813 最近在研究Hibernate.过程当中碰到了很多问题啊!其中一个就是not found w ...

  4. DataStructure-enum枚举

    Enum:枚举类型 enum模块定义了一个提供迭代和比较功能的枚举类型.可以用这个模块为值创建明确定义的符号,而不是使用字面量整数或字符串. 创建枚举 可以使用class派生Enum,然后增加描述值得 ...

  5. python爬虫使用scrapy框架

    scrapy框架提升篇 关注公众号"轻松学编程"了解更多 1.创建启动爬虫脚本 在项目目录下创建start.py文件: 添加代码: #以后只要运行start.py就可以启动爬虫 i ...

  6. 不停机不更新代码线上调试BUG的工具

    如果你有以下痛点,请你查看本文章: 1.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 2.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 3.线上遇到某个用户的 ...

  7. springcloud feign使用

    1.Spring cloud fein的继承特性 通过对接口的继承,能够实现对fein客户端和feign服务器代码量的减少. 2.Ribbon配置 {服务名}.ribbon.ConnectTimeOu ...

  8. JS--遍历对象属性的五种方式

    ES6 一共有 5 种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Ob ...

  9. 8. Prism导航

    1. 背景 导航是为了实现不同界面的切换,是一种组织系统功能的方式.提供两种导航,一是基于View切换,二是基于ViewModel状态. 2. 基于View切换的导航 最常用导航方式.在该种导航中首先 ...

  10. 微服务接口设计(RESTful规范)

    微服务的接口设计(RESTful规范) 基本知识 URI:在RESTful架构中,每个URI代表一种资源 URI规范: 不用大写 用中杠-,不用下划线_ 路径中不能有动词,只能有名词 名词表示资源集合 ...