Java面向对象

根据B站up 遇见狂神说的 学习笔记 up视频地址

面向对象思想

  • 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后才对某个分类下的细节进行面向过程的思索

  • 面向对象适合处理复杂的问题,时候处理需要多人协作的问题

  • 对于描述复杂的时候,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍需要雪乡过程的思路去处理

什么是面向对象

  • 面向对象编程(Object-Oriented Programming,OOP)

  • 面向对象编程的本质是:以类的方式组织代码,以对象的组织(封装)数据

  • 抽象

  • 三大特性

    • 封装
    • 继承
    • 多态
  • 从认识论角度考虑是先有对象后又类。对象,是具体的事物。类,是抽象的,是对对象的抽象

  • 从代码运行角度考虑是先有类后有对象,类是对象的模板

值传递和引用传递

package com.oop.demo01;public class Demo02 {public static void main(String[] args) {Person person = new Person();System.out.println(person.name);Demo02.change(person);System.out.println(person.name);}public static void change(Person person){//person是一个对象:指向的 ----->Person perosn = new Person(); 这是一个具体的人,可以改变属性person.name="xiaowang";}
}class Person{String name;
}

类和对象的关系

  • 类是一种抽象的数据类型,它是对某一类十五整体描述/定义,但是并不能代表某一个具体的事物。

  • 对象是抽象概念的具体实例

  • 将抽象的思想转化为代码实现[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-319altm3-1616683392125)(C:\Users\m1358\AppData\Roaming\Typora\typora-user-images\image-20210321222504440.png)]

//Application
// 一个项目一个只存在一个main方法
public class Application {public static void main(String[] args){//类:抽象的,需要实例化//类实例化后会返回一个自己的对象!//student对象就是一个St类的具体实例!Student xiaohong = new Student();Student xiaoming = new Student();xiaoming.name = "小明";xiaoming.age = 21;System.out.println(xiaoming.name);System.out.println(xiaoming.age);xiaohong.name = "小红";xiaohong.age = 21;System.out.println(xiaohong.name);System.out.println(xiaohong.age);}
}
//Student
//学生类
public class Student {//属性:字段String name;int age;//方法public void study(){System.out.println(this.name+"在学习");}
}//学程序好? 对世界进行更好的建模!

创建与初始化对象

  • 使用new关键字创建对象

  • 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中的构造器的调用。

  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:

    • 必须和类的名字相同
    • 必须没有返回类类型,也不能写void
  • 构造器必须掌握

Personpublic class Person {//一个类即使什么都不写,也会存在一个方法//显示的定义构造器String name;//实例化初始值//1.使用new关键字,本质在调用构造器public Person(){}//有参构造:一旦定义了有参构造,无参就必须显示定义public Person(String name){this.name = name;}
}
/*//new 实例化了一个对象Person person = new Person("xiaoming");System.out.println(person.name);注意点:1、定义有参构造之后,如果想使用无参  构造,显示的定义一个无参的构造alt + insert*/

创建对象内存分析

package com.oop;import com.oop.demo03.Pet;public class Application {public static void main(String[] args) {Pet dog = new Pet();dog.name = "小白";dog.age = 3;dog.shut();System.out.println(dog.name);System.out.println(dog.age);Pet cat = new Pet();}
}
package com.oop.demo03;public class Pet {public String name;public int age ;public void shut(){System.out.println("叫了一声");}
}

小结

  1. 类与对象

    类是一个模板:抽象的

    对象是一个具体的实例

  2. 方法

    定义、调用

  3. 对应的引用

    引用类型: 基本类型(8)

    对象是通过引用来的操作的:栈----->堆

  4. 属性:字段Field 成员变量

    默认初始化:

    ​ 数字:0 0.0

    ​ char:u0000

    ​ booolean:false

    ​ 引用:null

​ 修饰符 属性类型 属性名 = 属性值

  1. 对象的创建和使用

    • 必须使用new关键字创造对象,构造器 Person Ywl = new Person()
    • 对象的属性 Ywl.name
    • 对象的方法 Ywl.sleep()
  2. 静态的属性 属性

    动态的行为 方法

​ 封装 多态 继承

Java面向对象01相关推荐

  1. Java面向对象01:什么是面向对象

    Java 的核心思想就是 oop (oo 指面向对象,oop 指面向对象编程) 面向对象 & 面向过程 # 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么...... 面向过程适合处理 ...

  2. Java自学笔记——Java面向对象——04.抽象类、接口、内部类

    Java 面向对象各节 Java自学笔记--Java面向对象--01.回顾方法 Java自学笔记--Java面向对象--02.构造器.类和对象 Java自学笔记--Java面向对象--03.封装.继承 ...

  3. 每行代码都有注释释的java面向对象代码_每行代码都有注释释的java面向对象代码...

    每行代码都有注释释的java面向对象代码 [2021-02-02 01:52:34]  简介: vue如何注释 2020-11-18 vue注释的方法:1.html注释,代码为[]:2.[pug(ht ...

  4. JAVA 面向对象和集合知识点总结

    转载请注明出处:http://blog.csdn.net/zhoubin1992/article/details/46481759  在Android编程或者面试中经常会遇到JAVA 面向对象和集合的 ...

  5. java面向对象 程序设计题_java面向对象程序设计练习题

    java面向对象程序设计练习题 [练习题]01.类的成员变量 猜数字游戏 一个类 A 有一个成员变量 v有一个初值100.定义一个类 对 A 类的成员变量 v 进行猜.如果大了则提示大了 小 ...

  6. 7.0_[Java 面向对象]-类和对象

    ################################################## 目录 面向对象扫盲 万物皆对象 分类思想 对象的属性与方法/实例的特征和行为 如何在 Java 中 ...

  7. 杨校老师课堂之Java面向对象知识点整理集锦

    目录 第一部分 Java面向对象 1.开发环境搭建及开发工具eclipse使用 2.类和对象 3. 成员变量和局部变量区别 4. 数据类型 5.构造函数 6.函数 7. 成员变量的初始化 8. thi ...

  8. Java基础01 基础语法

    文章目录 01 Java概述 1.JAVA安装 2.HelloWorld 3.JAVA概述 3.1 JAVA的发展 3.2JAVA可以做什么 3.2.1 JAVA SE 3.2.2 JAVA ME 3 ...

  9. Java 基础-01 Java语言入门

    文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...

最新文章

  1. 微软 WPC 2014 合作伙伴keynote
  2. python pip国内镜像
  3. 什么情况导致 oom
  4. 剑与远征恶魔英雄瑟可斯,我们认识一下他的技能
  5. 浅谈Spring IOC
  6. webStorm编辑器(左侧目录)如何显示、隐藏?
  7. Multi-thread--C++11中atomic的使用
  8. PHP弱类型安全问题总结
  9. 信息熵与二进制--信息论系列
  10. c语言自学的视频,最适合自学的C语言自学视频
  11. 2 测试方法与理论 - 软件测试
  12. Shiro总结和常见面试题
  13. html如何定义mime类型的作用,自定义mime类型、mime类型介绍
  14. python math库
  15. 电源 PFC(功率因数校正)电路拓扑,共计100多份,内含A PFC,连续断续,交错,维也纳,各功率段的PFC电路
  16. 深刻理解Linux进程间通信(IPC)
  17. 关闭弹出的WPS广告提示
  18. 综合应用 -- 购物车
  19. D3学习笔记之常用比例尺
  20. 三、C++学习笔记——处理数据

热门文章

  1. 简单的摇筛子判断对比
  2. 算法实战应用案例精讲-【图像处理】数字图像处理从原理到应用(python代码实战)
  3. 复旦微的 JFM7K325T 国产化设计资料(PCIE711)
  4. 【Linux】七、DHCP服务器配置与管理
  5. Altium designer 22 设置相关记录
  6. 淘宝网Open API 入门教程
  7. 炉石传说服务器维护时间2020,炉石传说2020年10月23日秋季发布会开始时间
  8. 获取安卓设备唯一标识码并存储在SharedPRreferences中
  9. Seata-XA模式
  10. 【CNN基础】为什么要用较小的卷积核