1.什么是面向对象

1.1 引入

在Java语言的开发中有一中说法是:世间万物皆对象,即花鸟鱼虫,飞禽走兽点都能够是对象,那么我要去思考的是如何把这些对象用编程的思维去了解,又如何去展示?

1.2 概念

面向对象是绝对于①面向过程的,通过对事实世界进行②了解和形象的形式,把简单的事物变得简略的一种③编程思维(OOP Object Oriented Programming)

①面向过程:(Procedure Oriented)是一种以过程为核心的编程思维,是以什么正在产生为次要指标进行编程。
②了解和形象:事实世界中的所有事物都有两个个性,即动态的属性(一个事物的名字,性质等)和动静的办法(爬山,读书,打篮球等)。这些事物都有公共的局部,例如动态的标识一个事物的ID,名字...,又例如动静的示意事物办法的动,静...在以编程的形式出现这些对象的时候就能够把这些事物都有的动态属性和动静办法抽取进去,只写一份让所有对象应用,就能够大大简化代码了,这就是编程的思维中的形象。

1.3 对于类和对象的了解

1.3.1 类

类就是一类事物的统称(人类),是Java语言的根本单位,是事物的模板和设计图。

1.3.2 对象

对象是对类的具体化(小明),对象的状态来形容对象的基本特征,对象的行为用来形容对象的性能,对象的惟一标识指的是对象在内存中的惟一地址,用来和其余对象辨别。

1.4 面向对象的特色

1.4.1 封装

通过类这个载体把对象的属性和行为封装为“类组件”,对于客户影藏具体的实现细节,只提供公共的拜访办法,一方面进步了程序的安全性,一方面进步了代码的重用性,是面向对象的外围。

1.4.2 继承

子类主动继承父类的属性和办法,使得子类在遇到和父类同样的问题时,就能够用父类的办法来解决,实现了复用,是类与类之间的关系表现形式。

1.4.3 多态

将父类对象利用于子类的特色就是多态,加强了软件的灵活性和重用性。

1.5 面向对象的语法

1.5.1 类的创立和应用

package com.mtingcat.javabasis.object;public class Student {    public static void main(String[] args) {        Person tom = new Person();        tom.name = "tom";        tom.age = 12;        tom.sex = "Man";        System.out.println(tom.name+","+tom.age+","+tom.sex);        tom.Breathe();        tom.Move();    }}class Person{    /**     * 1.成员变量     *     类的属性(特色)     *     全局变量     */    String name;    int age;    String sex;        /**     * 2.成员办法     *     类的办法(行为)     */    void Breathe(){        /*         * 局部变量:         *     局部变量是在办法被执行时创立,在办法执行完结时被销毁,局部变量在应用时必须进行赋值操作或者被初始         *    化,否则会呈现编译谬误         *    能够将局部变量的无效范畴称之为变量的作用域,局部变量的无效范畴从该变量的申明开始到该变量的完结为止         */        @SuppressWarnings("unused")        String air;        System.out.println("呼吸");    }    void Move(){        @SuppressWarnings("unused")        String power;        System.out.println("静止");    }}

1.5.2 对象在内存中的存储

1.5.3 繁多对象在内存中的存储


①在栈内存中,创立一个援用变量p,持有对象的地址值
②在堆内存中,创立Person对象,并且开拓变量的空间,实现初始化
③给堆内存中的元素,调配一个惟一标记,地址值。交给p去保留。
④p.name=”lisi”;p.age=20;就去堆内存中找惟一的地址值,找到Person对象,并对其属性进行批改赋值。
⑤p.eat();就去堆内存中找惟一的地址值,找到Person对象,执行Person对象的办法。

1.5.4 程序时如何创建对象的: