• 抽象数据类型:将 不 同 的 数据类型集合组成起来 来描述一种新事物。

    类:由 成员变量方法 组成。

    成员变量:描述对象共同的数据结构。

    方法:描述对象的行为。

    面向对象:以对象为核心来构建系统。

    引用变形对象:对实例化对象进行访问。

    引用对成员变量访问和方法的调用。

    引用类型变量的赋值:

       引用类型变量储存的是对象的地址信息。对引用类型变量的赋值, 除了使用上面的new关键字以外,还可以有另外一种赋值方式, 即:相同类型的引用类型变量之间相互赋值。

      

    1. Emp e1 = new Emp();
    2. Emp e2 = e1; //将e1的值(对象的地址信息)赋给e2,e2和e1指向相同的对象。
    3. e1.name =“黄河大虾”;
    4. e2.name = “白发馍女”;
    5. System.out.println(e1.name);

    该引e1与e2两个引用指向同一个对象。

    方法的重载:方法名相同参数列表不同。

    签名:包含方法名和参数列表。

    构造方法:初始化成员变量。

    1. class Cell {
    2. int row ;
    3. int col ;
    4. public Cell (int row1 , int col1){
    5.         row = row1;
    6. col = col1;
    7. }
    8. }
    9. class TestCell {
    10. public static void main(String args[ ] ){
    11. Cell c1 = new Cell( 15 , 6 );
    12.      printCell(c1);
    13. }
    14. }

     this关键字:this关键字用在方法体中,用于指代调用该方法的当前对象.

    引用类型  数组:

          数组是对象,数组的元素可以看成 数组对象的成员变量。数组对象储存在堆中。

    对象内存管理: 

          在JAVA中,有java程序、虚拟机、操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统交互。编译好的java字节码文件运行在JVM中。

    程序中无论代码还是数据,都需要存储在内存中,而java程序所需内存均由JVM进行管理分配,开发者只需关心JVM是如何管理内存的,而无需关注某种操作系统是如何管理内存的,这就保证了java程序的平台无关性。

    JVM会将申请的内存从逻辑上划分为三个区域:堆、栈、方法区。这三个区域分别用于存储不同的数据。

       

       对象储存在堆中,引用数据类型储存在栈中。

    1. Cell c = new Cell ();

    成员变量的声明周期:

       

        那么当一个对象没有任何引用时,该对象被视为废弃的对象,属于被回收的范围,同时该对象中的所有成员变量也随之被回收。

    可以这样认为,成员变量的生命周期为:从对象在堆中创建开始到对象从堆中被回收结束。

     垃圾回收机制:    

    垃圾回收器(Garbage Collection,GC)是JVM自带的一个线程(自动运行着的程序),用于回收没有任何引用所指向的对象

    GC线程会从栈中的引用变量开始跟踪,从而判定哪些内存是正在使用的,若GC无法跟踪到某一块堆内存,那么GC就认为这块内存不再使用了,即为可回收的。但是,java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。

    栈:

      栈用来储存方法中的局部变量。

      方法中的变量即为局部变量,是在栈内存中分配,若变量为值类型,则在栈中存储的就是该变量的值。若变量为引用类型,则在栈中存储的是堆中对象的地址。

    局部变量的生命周期;

        JVM会为每一个方法的调用在栈中分配一个对应的空间,这个空间称为该方法的栈帧。一个栈帧对应一个正在调用中的方法,栈帧中存储了该方法的参数、局部变量等数据。当某一个方法调用完成后,其对应的栈帧将被清除,局部变量即失效。

    方法区:

        用于储存类的基本信息(属性和方法)

      

    1. Cell c = new Cell();
    2. 程序在执行这句话时,Cell类首先被装载到JVM的方法区,其中包括类的基本信息和方法定义等
    3.  

     

    访问控制符

         

     

    static  修饰成员变量

         当创建对象后,成员变量是存储在堆中的,而static成员变量和类的信息一起存储在方法区, 而不是在堆中。

      在static方法中不能对非static成员(对象成员)进行访问。

         static方法的作用在于提供一些“工具方法”和“工厂方法”  比如工具类

         static块为属于类的代码块,在类加载期间执行的代码块,只执行一次,可以用来在软件中加载静态资源(图像、音频等等)。如下代码演示了static块的执行:

    final关键字

        修饰成员变量:final关键字修饰变量,意为不可改变。final可以修饰成员变量,也可以修饰局部变量,当final修饰成员变量时。

     final关键字修饰的方法不可以被重写。使一个方法不能被重写的意义在于:防止子类在定义新方法时造成的“不经意”重写。

       final关键字修饰的类不可以被继承。使一个类不能被继承的意义在于:可以保护类不被继承修改,可以控制滥用继承对系统造成的危害

    static final 修饰的成员变量称为常量,必须声明同时初始化,并且不可被改变。常量建议所有字母大写。

    实际应用中应用率较广,因为static final常量是在编译期被替换的

  • 相关阅读:
    sublime text
    php 实例说明 socket通信机制
    nusaop 关于webService
    vim操作集合
    gitHud设置公钥
    redis在window安装并启动
    百度云api 添加标注
    微信小程序bindTap获取对应值
    Java导出excel表
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/jcfxl/p/5722245.html
Copyright © 2020-2023  润新知