JAVA_(面向对象)

一、面向对象
1、概述:java编程语言是纯粹的面向对象思想的语言。

程序开发有两个主流的方法:

(1)结构化程序设计,也叫面向过程程序设计:
1)结构化程序设计主张以功能/步骤来进行软件设计。如在解决问题时,主要是思考的是解决问题的步骤思路。

2)结构化程序设计是以函数为程序单元 ,从一个函数开始,调用其他普通函数,进行一些数据处理,一直调用下去。

3)设计思想:自顶而下,逐步精分,模块化。此种方式的编程语言有C,Basic,Pascal

(2)面向对象程序设计:

1)面向对象编程思想逐渐成熟起来。它使用类,对象,继承,封装,消息等概念来进行程序设计。主要从现实世界的客观事物(即对象)出发来进行开发软件系统,尽可能的运用人的自然思维方法 ,从客观事物来思考问题,认识问题。 从这些事物的本质特点,来抽象出系统所需要的类,作为程序的基本单元。


1)类是面向对象编程的基本单元,类含有一类事物的共同特征,类可以产生多个对象,这些对象构成了程序中所需要的数据。

2)类是一类事物的抽象体现,而这些事物都有一些状态数据。即Field ,如,人,有身高,体重,姓名,性别,爱好等(程序设计时,只关心业务所需要的数据)。

3)类除了封装了一些事物的状态数据外,还提供了操作这些状态数据的方法(Method),实现逻辑。

4)总结:成员变量(状态数据)+方法(行为)定义=类的定义。此类方法的编程语言:C++,java,C#, Ruby

面向对象与面向过程的区别:
1)面向对象要比面向过程的粒度要大,相对来说容易,简单。
2)面向过程要比面向对象的性能要高,因为面向对象要进行对象的实例化, 比较吃内存,吃性能。

抽象数据类型:
1)用一堆不同类型的状态数据来描述的一种新的事物。

reg: 描述电脑,

       颜色,    尺寸,     型号,      主板,    内存,    硬盘,    显卡                         
       0xFF00FF  15.6  thinkpadT460    华硕      三星      希捷 ,   inter
       0xFF00FF  15.6  lenovoE40       三星      三星      西数 ,   inter

这些事物的共同行为:办公、playGame、play

2)用状态数据(成员变量)总结一类事物的共同特征,用方法总结一类事物的共同行为。

类的定义:=成员变量+方法
格式语法:

    修饰词  class  类名{
      type  field1;
      type  field2;
      .....
      修饰词 返回值类型  method1(形参){}
       修饰词 返回值类型  method2(形参){}
      .....     
      }

定义一个类型:Person
成员变量(状态数据-共同特征):name,gender,age,birth,idcard,isMarry;方法(行为):eat()、sleep()、work()、sport()

public class Person {
    String name;
    char gender;
    int age;
    String birth;
    String idcard;
    boolean isMarry;
    public void eat(String food){
        System.out.println(name+"喜欢吃"+food);
    }
    public void sleep(){
        System.out.println("生日是"+birth+"的,性别是"+gender);
    }
    public void work(){
        System.out.println("姓名为"+name+"生日为"+birth+"的人不想上班");
    }
    public void sport(){
        System.out.println("名为"+name+",性别为"+gender+"的人喜欢健身");
    }
    public String info(){
        String str = "[nmae="+name+",gender="+gender+
                ",age="+age+",birth="+birth+",idcard="+idcard+",isMarry="+isMarry+"]";

        return str;
    }
}

对象:
类的实例化,即类中的个体
如何创建对象:使用关键字new

    类名   引用变量  = new 类名();

引用变量:简称引用,存储的是对象的地址信息

1)成员变量的调用:引用.成员变量名
2)方法的调用:引用.方法名(有参传参)

类与对象的关系:类是对象的模板,对象是类的实例化

内存管理机制:
**1)**jvm将其管理的内存分成三大主要区域:方法区,堆,栈
2)方法区:当程序运行时,将所需要的class文件(类的信息)加载到此区间
3)堆: 用于存储引用类型所产生的对象,如果对象有成员变量,会给成员变量分配空间
4)栈:方法内的变量(局部变量)是在栈中开辟的

基本类型的变量与引用类型的变量:

值传递:
基本数据类型的变量里存储的是基本类型的数据,

      int a = 5;
      int b = a;//将a里的5复制了一份,传递给了b

址传递:
引用类型的变量里存储的是对象的地址信息

    Car c = new Car();
    Car d = c;//将c里的地址信息复制了一份,传递给了d

空指针异常:

java.lang.NullPointerException

在程序运行时,可能会出现此异常,出现的原因:

  Car  c = new Car();
  System.out.println(c.color);//0
  Car c = null;
  System.out.println(c.color);//就会出现空指针异常

null:是引用类型的默认值

猜你喜欢

转载自blog.csdn.net/zd1204473783/article/details/81274038