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

      课后题目:

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

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

      类和对象的区别是什么?

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

  • 相关阅读:
    【刷题-LeetCode】204. Count Primes
    【刷题-LeetCode】205. Isomorphic Strings
    【刷题-LeetCode】207. Course Schedule
    剑指offer题解——找出数组中重复的数字
    关于c++中vector操作
    动态规划算法
    分治算法
    从零学python——组合数据类型
    从零学python—PyInstaller库的介绍
    从零学python——代码复用与函数递归
  • 原文地址:https://www.cnblogs.com/youjunhui/p/14878258.html
Copyright © 2011-2022 走看看