Java学习笔记2

1.面向过程

C语言是非常典型的面向过程语言,以做事情的步骤为准

  例如:

 把物品装进冰箱

   1.打开冰箱

   2.装入冰箱

   3.关闭冰箱

 五子棋的程序

  1.开始游戏

  2.绘制棋盘

  3.白棋先走

  4.判断输赢

  5.黑棋走

  6.判断输赢

 

2.面向对象(OOP Object Oriented Programming面向对象编程)

例如把物品装进冰箱

分析:

  冰箱(属性,行为)

  物品(属性,行为)

冰箱的行为有开门关门。

物品的行为是运送。                                  

 

五子棋:

  棋盘(属性,行为)

  棋子(属性,行为)

  游戏规则

棋子:属性:颜色

      行为:走步

棋盘:行为:绘制

游戏规则:行为:判断输赢

 

3.类

8种基本数据类型:int short。。。

引用数据类型:类、接口、数组

 

把某些具有相同属性和行为的事物抽象成一类。

狗:

        属性:品种、年龄、尺寸

        行为:睡觉、吃饭

在java语言中,万物皆对象(在java里面不是所有东西都是对象,8种基本数据类型不是对象,但是八种基本数据类型具有包装类)。

 

对象

类是一个概念,对象是一个具体的实例

狗是一个类,小王家的那只狗是实例对象。

 

类的定义

定义类的语法: class 类名{

                    属性

                    方法

}

类里面只能有属性和行为

类名:见名知意,每个单词首字母大写。

 

属性

在类中定义的变量,可以没有初始值,但jvm会分配一个默认值。只有属性才会有默认值。

 

行为

行为就是方法

public<static> 返回值 方法名(数据类型 变量,数据类型 变量…){

  <return>

}

 

创建类的目的就是创建对象的实例。

语法: 数据类型 变量名 = new 数据类型();

 

 

//类的概念

 

class Dog{

    //属性:

    //品种

    String type;

    //颜色

    String color;

    //性别 如果是1则为公 2则为母

    int gender;

   

    /**

     行为,行为就是方法

     */

    public  void bark() {

        System.out.println("汪汪汪!");

    }

    public static void play() {

        System.out.println("咬碎了一直拖鞋");

    }

    /**

     * 语法:

     *     创建: 数据类型 变量名 = new 数据类型();

     *     调用:变量名.方法   变量名.属性

     */

    public static void main(String[] args) {

   

        Dog dog1= new Dog();

        dog1.bark();

        dog1.play();

        dog1.color="yellow";

        System.out.println(dog1.color);

    }

}

 

创建对象的内存结构

当我们运行类的时候会在内存中产生jvm

Jvm有栈、堆、数据共享区

栈:程序运行时基本数据类型和引用数据类型的存储位置

堆:对象存储的位置

数据共享区:存储共享数据的内存区

类中对象的方法是被当前类中所有对象共享的。

内存结构图:

 

创建一个新的dog:

 

 

Dog  dog2  =  dog;

 

 

dog与dog2指向同一个地址,代表同一个对象。

 

 

调用方法时,方法内的属性就是调用者的属性:

 

局部变量和成员变量

凡是定义在方法内和语句块内的变量都是局部变量

只限作用于该方法内

存储在栈中

 

posted @ 2019-01-23 10:31  ZZR丶丶  阅读(187)  评论(0)    收藏  举报