1、初始Java面向对象

一、面向对象学习的三条主线

1.Java类及类的成员:属性、方法、构造器、代码块、内部类;

2.面向对象的三大特性:封装、继承、多态;

3.其它关键字:this、super、static、final、abstract、interface、package、import等。

 

二、面向过程和面向对象

举例:人把大象装进冰箱

面向过程:

  理解:强调的是功能行为,以函数为最小单位,考虑怎么做。

  具体实现:

    ①把冰箱门打开;

    ②抬起大象,塞进冰箱;

    ③把冰箱门关闭。

面向对象:

  理解:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

  具体实现:

人{
        打开(冰箱){
            冰箱.开开();
        }

        抬起(大象){
            大象.进入(冰箱);
        }

        关闭(冰箱){
            冰箱.闭合();
        }

}


冰箱{
        开开(){}
        闭合(){}
}

大象{
        进入(冰箱){}
}

注:以上皆为伪代码。

 

 

三、面向对象的两个要素

:对一类事物的描述,是抽象的、概念上的定义。

对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)

 

四、总结

1.面向对象程序设计的重点是类的设计;

 

2.设计类,就是设计类的成员。

  ①属性 = 成员变量 = field = 域、字段

  ②方法 = 成员方法 = 函数 = method

  ③创建类的对象 = 类的实例化 = 实例化类

 

五、面向对象思想落地的实现

1.创建类,设计类的成员;

2.创建类的对象;

3.通过“对象.属性”或“对象.方法”调用对象的结构

 

  注:如果创建了一个类的多个对象,则每一个对象都独立的拥有一套类的属性(非static的)。意味着,如果我们修改一个对象的属性a,则不影响另一个对象的属性a的值。

代码:

public class PersonTest {
    public static void main(String[] args) {
        //2.创建Person类的对象
        Person p1 = new Person();

        //3.调用对象的结构:属性、方法
        //3.1调用属性:“对象.属性”
        p1.name = "Tom";
        p1.isMale = true;
        System.out.println(p1.name);

        //3.2调用方法:“对象.方法”
        p1.eat();
        p1.sleep();
        p1.talk("Chinese");

        //再创建一个对象
        Person p2 = new Person();
        System.out.println(p2.name);//null
        System.out.println(p2.isMale);

        //将p1变量保存的对象地址值赋给p3,导致p1和p3指向了堆空间中的同一个对象实体
        Person p3 = p1;
        System.out.println(p3.name);//Tom

        p3.age = 18;
        System.out.println(p1.age);//18
    }
}

//1.创建类,设计类的成员
class Person{
    //属性
    String name;
    int age = 1;
    boolean isMale;

    //方法
    public void eat(){
        System.out.println("人可以吃饭");
    }

    public void sleep(){
        System.out.println("人可以睡觉");
    }

    public void talk(String language){
        System.out.println("人可以说话,使用的是:" + language);
    }
}

 

六、对象的内存解析

 

1、初始Java面向对象_第1张图片

你可能感兴趣的:(1、初始Java面向对象)