ITPub博客

首页 > 应用开发 > Java > 好程序员Java教程分享Java面向对象与面向过程

好程序员Java教程分享Java面向对象与面向过程

原创 Java 作者:好程序员IT 时间:2019-12-09 17:39:27 0 删除 编辑

  好程序员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;

> }

> }

> ```


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913892/viewspace-2667603/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
欢迎关注公众号:好程序员特训营 web前端教程分享 723729549 大数据教程分享 703503210

注册时间:2019-03-20

  • 博文量
    539
  • 访问量
    410735