zoukankan      html  css  js  c++  java
  • 第2章 类与对象

    类:

    一些有着相同特点对象的抽象化,可以包括对象的属性、方法(行为).

      语法实现:

     1   public class 类名{
     2     //类所具有的属性特点
     3     访问权限 数据类型 变量名 5     //类所能实现的方法
     6     修饰符 返回值的类型 方法名(参数){
     7 //方法体实现
     8 }
     9   
    10 
    11 }

    对象:

    对一个类进行实例化,也就是照着类创建一个对象.就像是照着设计图纸设计产品,设计图纸就是类,生产出来的产品就是对象了.

    对象的实例化:

     

    类名 对象名=new 类名();
    

     对象访问属性和方法的语法:

    对象名.属性名;
    对象名.方法名(方法所需的参数);

    基本数据类型和引用数据类型:

     基本数据类型有:

       数值型:byte、short、int、long、float、double.

        字符型:char

        布尔型:boolean

      除了这些基本类型外,其他java数据;类型和自定义的数据类型都是引用数据类型.

    基本数据类型(值类型)的数据存储在栈内存中.而引用数据类型在堆内存中.

    基本数据类型与引用数据类型的参数传递:详细见书上P17-19页

      当基本类型作为参数传递时,在方法中对形参的修改并不会影响实参的值.

      因为当读取到main方法时,会在栈内存中开辟一个main栈帧,用在main函数中创建的基本类型变量调用方法函数中,会在栈内存中再创建所调用的方法栈帧,只是在那个方法的栈帧中修改了基本类型变量的值,而在main方法的栈帧中的基本类型变量值出头到尾都没有修改过.

      引用数据类型的参数传递:

      当引用类型作为参数传递时,在方法中对形参的修改,会修改实参的值.

      一开始读取到main方法,在栈内存中开辟一个main栈帧,因为是引用类型变量,所以会在堆内存中开辟内存空间存储,然后调用方法,在栈内存中再开辟一个方法栈帧,传入给这个方法的是引用类型变量的堆地址,因此,实参和形参都指向的是一个堆内存空间,执行了这个方法,修改对应的引用类型变量,然后弹出,修改的都是同一个堆内存之中的变量.

      课后题目:

      基本数据类型和引用数据类型的数据存储有何区别?

      基本数据类型存储在栈内存,而引用数据类型存储在堆内存,这会造成在调用方法时,将基本数据类型作为参数,不会修改原有实参的值,而将引用数据类型作为方法的参数,会修改原有实参的值.

      类和对象的区别是什么?

      类是对象的抽象化,描绘着对象的特征、行为,而对象是类的实例化.类和对象的关系就像是制造图纸和产品的关系一样,制造图纸有着产品的细节、功能,产品按照制造图纸所描述的去生产.

  • 相关阅读:
    《Windows编程循序渐进》——对话框应用程序2
    《Windows编程循序渐进》——对话框应用程序
    《Windows编程循序渐进》——建立MFC应用程序
    关于基类和子类构造函数的问题
    《Windows驱动开发技术详解》之分层驱动程序
    《Windows驱动开发技术详解》之驱动程序调用驱动程序——通过设备指针调用其他驱动程序
    《Windows驱动开发技术详解》之驱动程序调用驱动程序——以文件句柄形式调用其它驱动程序
    《Windows驱动开发技术详解》之定时器
    《Windows驱动开发技术详解》之自定义StartIO
    四种UNIX实现
  • 原文地址:https://www.cnblogs.com/youjunhui/p/14878258.html
Copyright © 2011-2022 走看看