请选择 进入手机版 | 继续访问电脑版

好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
我的账户
好程序员

专注高端IT职业培训

亲爱的猿猿,欢迎!

已有账号,请

如尚未注册?

[JavaEE] 好程序员Java培训分享Java面向对象与面向过程

[复制链接]
admin 发表于 2019-12-9 17:01:03 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  好程序员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;
> }
> }
> ```
好程序员Java培训http://www.goodprogrammer.org/javaEE_class.shtml

精彩内容,一键分享给更多人!
回复

使用道具 举报

您需要登录后才可以回帖

本版积分规则

关注我们
好程序员
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

Copyright 2007-2019 北京千锋互联科技有限公司 .All Right

京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启