java是面向对象还是面向过程_Java教程分享Java面向对象与面向过程[通俗易懂]

java是面向对象还是面向过程_Java教程分享Java面向对象与面向过程[通俗易懂]Java教程分享Java面向对象与面向过程,面向对象:是一种看待问题,解决问题的思维方式,着眼点在于找到一个能够帮助解决问题的实体,然后委托这个实体来解决问题面向过程:是一种看待问题,解决问题的思维方式,着眼点在于问题是怎样一步步的解决的,然后亲力亲为的去解决这个问题Java是一种面向对象的语言:​用Java这门语言,可以很容易的写出具有面向对象思维方式的代码用面向对象的编程语…

大家好,又见面了,我是你们的朋友全栈君。

Java教程分享Java面向对象与面向过程,面向对象: 是一种看待问题, 解决问题的思维方式, 着眼点在于找到一个能够帮助解决问题的实体, 然后委托这个实体来解决问题

面向过程: 是一种看待问题, 解决问题的思维方式, 着眼点在于问题是怎样一步步的解决的, 然后亲力亲为的去解决这个问题

Java是一种面向对象的语言:

​ 用Java这门语言, 可以很容易的写出具有面向对象思维方式的代码

用面向对象的编程语言写出的代码, 一定是面向对象的代码? 错!

> 大象装冰箱:

>

> 面向过程:

>

> 1. 打开冰箱门 我

> 2. 把大象装进去 我

> 3. 关上冰箱门 我

>

> 面向对象:

>

> 1. 打开冰箱门 冰箱

> 2. 把大象装进去 大象

> 3. 关上冰箱门 冰箱

> 小明要去组装一台电脑:

>

> 面向过程:

>

> 1. 补充电脑相关知识 小明

> 2. 去市场买零配件 小明

> 3. 将零配件运回家中 小明

> 4. 组装 小明

>

> 面向对象:

>

> 1. 找到一个懂电脑的朋友(老王) 小明

> 2. 去市场买零配件 老王

> 3. 将零配件运回家中 快递

> 4. 组装 老王

**类和对象**

对象: 能够帮助解决问题的那个实体

类: 若干个具有相同的特征和行为的对象的集合

类和对象的关系: 类是对象的集合, 对象是类的个体

张三, 李四, 王五, 赵六, 人类

哈士奇, 泰迪, 金毛, 阿拉斯加, 拉布拉多, 萨摩耶… 狗类

快递: 顺丰, 各种通, 各种达,

超级英雄(Super Hero): Caption American, Iron man, Spider man, Doctor Strange, Ant

#### 1.6.2 类的设计

类的语法:

“`java

class 类名 {

// 类体

// 类是若干个具有相同的特征和行为的对象的集合

// 在类体中, 定义了这些相同的特征和行为

// 特征: 表现出的是属性(就是一个全局变量)

// 行为: 表现出的是方法(不要加static)

// 属性, 是有默认值的

// 整型: 0

// 浮点型: 0.0

// 布尔型: false

// 字符型: ‘\0’ ‘\u000’

// 引用数据类型: null

String name;

int age;

void eat() {}

void sleep() {}

void coding() {}

}

“`

注意事项:

1. 类名是一个标识符, 遵循大驼峰命名法

2. 一个java文件中可以写多个类, 但是只有和文件名相同的那个类名可以修饰为public

3. 在程序编译的时候, 每一个类都会生成一个.class字节码文件, 而且.class文件的名字和类名相同

注意:

在程序中, 是先有类, 然后再从这个类中实例化一个对象

#### 1.6.3 对象的实例化

#### 1.6.4 对象的内存分析

#### 1.6.5 类中的成员的访问

**static**:

用关键字static修饰的成员, 叫做静态成员

没有用关键字static修饰的成员, 叫做非静态成员

**静态成员**:

1. 静态成员是属于类的, 在访问的时候, 需要用类来访问

2. 静态成员开辟空间, 是在这个类第一次被加载到内存中的时候开辟的

**非静态成员**:

1. 非静态成员是属于对象的, 在访问的时候, 需要用对象来访问

2. 非静态成员开辟空间, 是在这个对象被实例化的时候开辟的

1. 静态方法中, 不能直接访问非静态成员

2. 在非静态的方法中, 可以直接访问静态的成员

“`java

class Person {

String name;

static int a;

void eat() {}

static void sleep() {}

}

class Program {

public static void main(String[] args) {

Person xiaoming = new Person();

// 访问非静态成员

xiaoming.name = “xiaoming”;

xiaoming.eat();

// 访问静态成员

Person.a = 10;

Person.sleep();

// 注:

// 访问静态的成员, 也可以使用对象来访问, 但是会有警告

// 推荐使用类来访问静态成员

}

}

“`

#### 1.6.6 类是一种自定义的类型

#### 1.6.7 this关键字

> this: 在程序中,代表对当前对象的引用。

>

> 当前对象:

>

> ​ this关键字是需要用在某一个非静态方法中。

>

> ​ 非静态方法需要用对象来访问,哪个对象调用了这个方法,this就是谁

> this关键字可以被省略:

>

> 在类中访问当前的非静态的成员,可以省略掉this

>

> 但是有一种情况不能省略:

>

> “`java

> public class Person {

> String name;

> int age;

> char gender;

>

> void setInfo(String name, int age, char gender) {

> // 就近原则

> this.name = name;

> this.age = age;

> this.gender = gender;

> }

> }

> “`

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156255.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java内存分析工具jmap

    Java内存分析工具jmap

    2021年5月27日
    99
  • 程序员看过都说好的资源网站,你懂得![通俗易懂]

    程序员看过都说好的资源网站,你懂得![通俗易懂]身为一个程序员,有时候为了程序的界面好看,不得不去查找一些好看的图标或者图片等来装饰网站,那么问题来了,去哪里找?不用慌,程序羊为大家整理了一些常用的网站,希望能对您有帮助!后续还会不断更新。喜欢记得关注程序羊喔,不然下次您就找不到程序羊了。

    2022年6月10日
    83
  • webstorm激活码2021-激活码分享

    (webstorm激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlWK…

    2022年3月22日
    225
  • c51单片机选择题_大学生单片机毕业设计

    c51单片机选择题_大学生单片机毕业设计?Hi,大家好,这里是丹成学长的毕设系列文章!?对毕设有任何疑问都可以问学长哦!这两年开始,各个学校对毕设的要求越来越高,难度也越来越大…毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。以下是学长亲手整理的C51单片机相关的毕业设计选题,都是经过学长精心审核的题目,适合作为毕设,难度不高,工作量达标,对毕设有任何疑问都可以问学长哦!相对容易工作量达标题目新颖,含创新点?https。…

    2022年10月3日
    3
  • vim查找快捷键_vim搜索关键字命令

    vim查找快捷键_vim搜索关键字命令vim有强大的字符串查找功能。我们通常在vim下要查找字符串的时候,都是输入/或者?加需要查找的字符串来进行搜索,比如想搜索super这个单词,可以输入/super或者?super,两者的区别是前者是从上往下搜索,后者是从下往上搜索。那么如果我想搜索本行中某个单词,并且这个单词很长的时候,手动输入该字符串是非常麻烦的…

    2022年9月24日
    0
  • Squid 代理服务器之 ACL 访问控制

    Squid 代理服务器之 ACL 访问控制文章目录1.ACL访问控制方式2.ACL规则优先级3.ACL的定义步骤4.定义访问控制列表4.1方法一4.2方法二1.ACL访问控制方式根据源地址、目标URL、文件类型等定义列表格式为:acl列表名称列表类型列表内容…针对已定义的acl列表进行限制格式为:http_accessallow或deny列表名称…2.ACL规则优先级一个用户访问代理服务器时,Squid会以从上至下的顺序匹配Squid中定义的所有规则列表,

    2022年6月21日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号