java语言的面向对象(一)

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

程序开发两个主流的方法
(1)结构化程序设计,也叫面向过程程序设计,结构化程序设计主张以功能/步骤来进行软件设计。
    如在解决问题时,主要是思考的是解决问题的步骤思路。
    程序的基本单元:函数,会接受一些数据,进行处理,然后再输出一些数据
    调用其他普通函数,进行一些数据处理,一直调用下去。
    设计思想:自顶而下,逐步精分,模块化
    此种方式的编程语言有C,Basic,Pascal
(2)面向对象程序设计。
    它使用类,对象,继承,封装,消息,动态绑定,静态绑定等概念来进行程序设计。
    主要从现实世界的客观事物(即对象)出发来进行开发软件系统,
    尽可能的运用人的自然思维方法 ,从客观事物来思考问题,认识问题,
    程序的基本单元是类。
    此类方法的编程语言:C++,java,C#, Ruby  


     类是面向对象编程的基本单元,类含有一类事物的共同特征,类可以产生多 个对象,这些对象构
     成了程序中所需要的数据。类是一类事物的抽象体现,而这些事物都有一些状态数据。即Field
     (成员变量,有些资料称之字段,也有些资料称之为属性,java有property关键字 是属性的。)

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

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

类的定义: 成员变量(状态数据)+方法(行为)定义

抽象数据类型:用一堆不同类型的状态数据来描述的一种新的事物。   
     用状态数据(成员变量)总结一类事物的共同特征,
     用方法总结一类事物的共同行为。

    格式语法:
      修饰词  class  类名{
      type  field1;
      type  field2;
      .....
      
            修饰词 返回值类型  method1(形参){}
            修饰词 返回值类型  method2(形参){}
      .....     
   }
   定义一个类型:Person 
       成员变量(状态数据-共同特征):
         name,gender,age,birth,idcard,isMarry
       方法(行为)
         eat()
         sleep()
         work()
         sport()       
 对象:   类的实例化,即类中的个体,在程序的逻辑中被使用    
            如何创建对象:使用关键字new
            类名   引用变量  = new 类名();
            如何实例化和初始化?
            new构造方法(有参传参)

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

引用变量:简称引用,存储的是堆中对象的地址信息,可以理解为变量,指向了堆中的对象   
成员变量的调用:引用.成员变量名
     

         
 内存管理机制:jvm将其管理的内存分成三大主要区域:方法区,堆,栈,用来存储数据
               方法区:用来存储jvm加载的字节码文件的信息(类的信息),包含类的方法,方法只有一份,堆中的对象共享这份方法,                             在使用非static修饰方法时,需要对象来调用(即动态绑定到对象上) ,当程序运行时,将所需要的class文件(类的                               信息)加载到此区间
               堆(heap): 用于存储引用类型所产生的对象,如果对象有成员变量,会给成员变量分配空间
               栈(stack):方法内的变量(局部变量)是在栈中开辟的
   
基本类型的变量与引用类型的变量:

   值传递: 
       基本数据类型的变量里存储的是基本类型的数据,
       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:是引用类型的默认值
   
 

            
       
   
     
     
     
     
                 
         
     
     
            
            
            
    
         
     
     
             
      

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值