Java面向对象01
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("叫了一声");}
}
小结
类与对象
类是一个模板:抽象的
对象是一个具体的实例
方法
定义、调用
对应的引用
引用类型: 基本类型(8)
对象是通过引用来的操作的:栈----->堆
属性:字段Field 成员变量
默认初始化:
数字:0 0.0
char:u0000
booolean:false
引用:null
修饰符 属性类型 属性名 = 属性值
对象的创建和使用
- 必须使用new关键字创造对象,构造器 Person Ywl = new Person()
- 对象的属性 Ywl.name
- 对象的方法 Ywl.sleep()
类
静态的属性 属性
动态的行为 方法
封装 多态 继承
Java面向对象01相关推荐
- Java面向对象01:什么是面向对象
Java 的核心思想就是 oop (oo 指面向对象,oop 指面向对象编程) 面向对象 & 面向过程 # 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么...... 面向过程适合处理 ...
- Java自学笔记——Java面向对象——04.抽象类、接口、内部类
Java 面向对象各节 Java自学笔记--Java面向对象--01.回顾方法 Java自学笔记--Java面向对象--02.构造器.类和对象 Java自学笔记--Java面向对象--03.封装.继承 ...
- 每行代码都有注释释的java面向对象代码_每行代码都有注释释的java面向对象代码...
每行代码都有注释释的java面向对象代码 [2021-02-02 01:52:34] 简介: vue如何注释 2020-11-18 vue注释的方法:1.html注释,代码为[]:2.[pug(ht ...
- JAVA 面向对象和集合知识点总结
转载请注明出处:http://blog.csdn.net/zhoubin1992/article/details/46481759 在Android编程或者面试中经常会遇到JAVA 面向对象和集合的 ...
- java面向对象 程序设计题_java面向对象程序设计练习题
java面向对象程序设计练习题 [练习题]01.类的成员变量 猜数字游戏 一个类 A 有一个成员变量 v有一个初值100.定义一个类 对 A 类的成员变量 v 进行猜.如果大了则提示大了 小 ...
- 7.0_[Java 面向对象]-类和对象
################################################## 目录 面向对象扫盲 万物皆对象 分类思想 对象的属性与方法/实例的特征和行为 如何在 Java 中 ...
- 杨校老师课堂之Java面向对象知识点整理集锦
目录 第一部分 Java面向对象 1.开发环境搭建及开发工具eclipse使用 2.类和对象 3. 成员变量和局部变量区别 4. 数据类型 5.构造函数 6.函数 7. 成员变量的初始化 8. thi ...
- 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 ...
- Java 基础-01 Java语言入门
文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...
最新文章
- 微软 WPC 2014 合作伙伴keynote
- python pip国内镜像
- 什么情况导致 oom
- 剑与远征恶魔英雄瑟可斯,我们认识一下他的技能
- 浅谈Spring IOC
- webStorm编辑器(左侧目录)如何显示、隐藏?
- Multi-thread--C++11中atomic的使用
- PHP弱类型安全问题总结
- 信息熵与二进制--信息论系列
- c语言自学的视频,最适合自学的C语言自学视频
- 2 测试方法与理论 - 软件测试
- Shiro总结和常见面试题
- html如何定义mime类型的作用,自定义mime类型、mime类型介绍
- python math库
- 电源 PFC(功率因数校正)电路拓扑,共计100多份,内含A PFC,连续断续,交错,维也纳,各功率段的PFC电路
- 深刻理解Linux进程间通信(IPC)
- 关闭弹出的WPS广告提示
- 综合应用 -- 购物车
- D3学习笔记之常用比例尺
- 三、C++学习笔记——处理数据